Inspiration

Syntropy started with a very normal student problem: I had notes everywhere, but understanding them was a completely different story. live website: https://syntropy-xi.vercel.app/

I would take detailed notes, highlight important lines, and organize everything..then return later and realize that I still could not clearly see how the concepts connected. Studying often became a loop of rereading the same pages and hoping the information would eventually stay.

That made me wonder: what if studying felt less like reviewing a document and more like exploring a world?

This question became Syntropy, a learning platform that turns messy information into structured, interactive experiences. The name represents the idea behind the project: creating order, connections, and meaning from scattered information.

What Syntropy does

Students can upload handwritten notes, diagrams, or whiteboard images. Syntropy uses multimodal AI to transform them into:

  • Clean transcriptions
  • Connected concept graphs
  • Concepts ranked by importance
  • Active-recall questions linked to the original material

We also wanted students to learn even when they did not have notes to upload, so we created curriculum-based subject modules.

Instead of displaying Physics and Geography as lists of chapters, Syntropy turns them into explorable pixel-art environments. Students can enter places such as Newton’s Orchard, The Circuit Foundry, or Prism Observatory, walk between landmarks, discover concepts, talk to guides, answer quizzes, and earn XP.

(we may have taken “exploring a subject” a little too literally)

How we built it

The frontend was built with React, Vite, and HTML5 Canvas. We created reusable systems for subject navigation, curriculum books, quizzes, XP, player movement, and procedural tile-based worlds.

The backend uses Node.js, Express, and SQLite to manage authentication, note uploads, processing sessions, student progress, and structured educational data. It communicates asynchronously with the AI service so students can continue using the platform while their notes are being processed.

The AI layer uses Python, FastAPI, Google Gemini, and Pydantic. Gemini analyzes handwritten notes, diagrams, and whiteboards, then turns them into transcriptions, connected concept graphs, and active-recall questions. Pydantic validates the generated structure before it reaches the application.

Challenges we faced

One major challenge was turning flexible AI responses into reliable application data. A concept graph cannot contain broken connections or questions linked to concepts that do not exist. We solved this by defining strict schemas and validating the generated nodes, relationships, and questions.

Another challenge was balancing education with gamification. We did not want the project to become either a textbook wearing a game costume or a game where the learning part felt optional. Every major interaction therefore supports a learning action: exploration reveals concepts, landmarks provide explanations, and quizzes trigger active recall.

What we learned

The project taught us that educational technology is not only about presenting correct information. How information is organized and experienced can completely change whether it feels understandable.

We learned how to:

  • Transform unstructured AI output into validated knowledge graphs
  • Connect React, Express, FastAPI, SQLite, and a multimodal AI service
  • Build reusable subject modules instead of hard-coding every experience
  • Create pseudo-3D Canvas graphics using matrix transformations
  • Design game mechanics that support learning rather than distract from it
  • Turn abstract curriculum topics into visual, interactive environments

What's next for Syntropy

  1. More subjects and curriculum levels
  2. One shared profile and XP system across all subjects
  3. Personalized quizzes based on previous mistakes
  4. Spaced-repetition reminders
  5. Progress tracking for students and teachers
  6. Collaborative concept maps and learning realms
  7. Better accessibility and multilingual support

Built With

Share this project:

Updates

Submission history