Inspiration

The inspiration for this project stems from a common challenge faced by its creators:

We frequently use AI for learning new concepts. However, this knowledge, whether AI-related or domain-specific, is often fragmented. This necessitates the use of a series of prompts to guide the AI's output for desirable results.

Furthermore, this information is typically confined to separate AI chat sessions, making periodic review difficult.

Therefore, we aimed to create an app for managing this accumulated knowledge. Our goal is not only to customize content based on knowledge gaps but also to facilitate deeper mastery of these subjects through scientific, structured learning plans and regular reviews.

What it is

EvoBook means "Evolutionary Book."

We hope that AI can help users' knowledge and the content accumulated in the product to continuously evolve, bringing joy and a sense of accomplishment to our users in the process.

Research shows that human concentration is limited. We need constant positive feedback to motivate ourselves for the next step of learning, but this kind of positive feedback is difficult to achieve in ordinary learning paths (like reading a book), making it hard to enter a flow state.

However, the situation is completely different in games. By continuously breaking down goals and setting tasks, our brain becomes incredibly clear about the next steps. This model can reduce our sense of confusion, which aligns with the principles of brain science: it pushes us to complete the next step in the most relaxed state.

Therefore, we have broken down the learning path into different knowledge nodes and allow users to plan their learning schedule based on the time they want to invest in short lessons each day.

Through recalls or regular notifications, we will remind users to complete their learning plans.

The software is mainly divided into two modules:

  1. Learning Module (a) You can see all customized courses or find AI courses from the community. (b) You can explore the knowledge map by unlocking knowledge cards, and ask about your confusion. (c) The courses contain different knowledge cards and include Quiz sessions to help you periodically check your mastery of the knowledge points.

  2. Gamification Module (a) As you deepen your learning, you will receive rewards and go to the game interface to check in, unlocking more exploration opportunities. (b) The game uses a randomized dice-throwing format, which is very lightweight and won't take up too much time. (c) Coins obtained through the game or by unlocking knowledge cards can be used in the shop to redeem new clothes or home decorations for your AI Assistant.

In this way, you can create a feeling similar to raising a "digital companion," providing continuous motivation for learning.

How we build it

We built EvoBook with a 'Product-First' mindset, not just as a hackathon prototype.

Instead of a simple wrapper around OpenAI, we implemented a Domain-Driven Design (DDD) architecture using FastAPI and Postgres. We treated the LLM as an unstable component that needed strict engineering constraints.

The biggest challenge was forcing the LLM to think structurally. We used advanced Prompt Engineering to make it generate valid DAG (Directed Acyclic Graph) structures for course paths, ensuring no circular dependencies. We used gemini 3 flash through out the AI nodes, since it's fast and comprehendes the output format very well. The AI nodes are shown in the following image.

Evobook's AI nodes

Our 'secret sauce' is our Hybrid Output Protocol. We force the model to output JSON for logic, YAML for config, and Markdown with custom XML page breaks in a single response. This allows our frontend to render complex, paginated knowledge cards instantly without complex parsing.

Challenges we ran into

A rather difficult part was exploring and building a character avatar asset management system from scratch.

Initially, we wanted to use AI technology for 3D modeling but found that AI's performance was not satisfactory, especially in rigging the bones for special characters. After further technical evaluation and exploration, we eventually formed another workflow.

We needed to enable the generation of the assistant's avatars with different outfits and actions without relying on 3D modeling. This process required us to perform AIGC-based classification, cropping, background removal, format conversion, and asset compression.

Although this process was tedious, the final presentation was excellent.

Implementing transparent background videos for Safari on the web was a pitfall. We specifically handled the transcoding flow from WebM to MOV just to make the videos float seamlessly on the UI, rather than looking like a pasted GIF.

What we're proud of

Our highlights are:

  1. System Refinement and Iteration In our discussions, we continuously refined the learning and game systems and delved deep into implementation details.

  2. Visual Aesthetics and Meticulous Craftsmanship In terms of front-end design, we iterated at least three versions for almost every page (especially the main interfaces). In this way, we made the visuals more aligned with our taste and aesthetics, meticulously polishing the details in the process. This includes the little monster avatars; we used AI technology for more than ten rounds of generation and selected the three cutest ones to be the brand ambassadors for our MVP's AI assistant.

  3. Efficiency Improvement and Decoupling A special thanks to Stitch and Google AI Studio for the time they saved us. With them, we could decouple design, front-end code implementation, and product development. By creating demos, we were able to quickly get prototypes and start development. This freed up our energy from the implementation of specific functions.

What's next for Evobook

To achieve the MVP version, we made some functional compromises. In subsequent iterative versions, we will complete the features that we didn't have time to finish.

The main optimization directions include:

Social Sharing and Content Ecosystem Building

  1. More Complete Community Course Creation Currently, only the main path for user-customized courses is complete, but there are many incomplete courses in the community. We plan to place pre-made, officially evaluated high-quality courses there, allowing users to quickly discover interesting knowledge areas and continuously explore in related worlds.

  2. Building a Sharing and Recommendation System We want to build a knowledge community, which requires two things. First, to understand the content users are interested in and establish a comprehensive recommendation system. Second, to add a sharing function so that users can share their courses within the product's course community and externally.

To incentivize sharing, we will grant more points based on the attention and popularity of a user's course, and these points can be used for "unlockable" learning.

The significance of this mechanism is: (a) To help us quickly enrich the community content. (b) To increase user retention time in the product and enhance user engagement.

Make the gamification module more interesting by providing more visual assets.

One area is the assistant's avatar, where we haven't produced more videos. This is because expanding the assistant's assets involves a rather complex process. Therefore, at this stage, we have only introduced three assistant avatars, along with a limited number of outfits and animations.

When we have more time in the future, we will establish a more complete asset management pipeline or dashboard for the assistant's avatars to manage these assets more systematically.

Built With

Share this project:

Updates

posted an update

EvoBook Feature Updates

Onboarding

  • Added radio button indicators to concept selection interface
  • Preset first question for instant user interaction
  • Skip source/channel questions for returning users

Knowledge Graph (DAG)

  • Enforce strict node count validation based on mode
  • Remove strict time sum validation
  • Limit node count to 5-20 nodes
  • Add interested concepts to response data

Quiz System

  • Auto-save quiz questions and answers as drafts
  • Display correct answer count in completion modal

User Profile

  • Integrate Umami analytics for user behavior tracking
  • Enhance user profile synchronization

Project Architecture

  • Merge frontend and backend into monorepo
  • Add unified startup script
  • Add environment variables template
  • Improve port conflict handling
  • Add MIT open source license

Bug Fixes

  • Fix 500 errors by replacing middleware
  • Fix authentication related issues
  • Fix Umami script loading
  • Remove interactive section from QA card prompts

Code Optimization

  • Clean up temporary documentation files
  • Improve service management in startup scripts
  • Code formatting and structure improvements

Log in or sign up for Devpost to join the conversation.