Command Palette

Search for a command to run...

Vidya Marg

completed

An AI-powered adaptive learning platform that builds prerequisite knowledge graphs, assesses users with adaptive quizzes, and generates personalized learning paths.

Vidya Marg mockup preview
Technologies & Frameworks
Next.jsReactTypeScriptTailwind CSSFramer MotionReact FlowFastAPIPythonGroqNetworkXSupabaseBeautifulSoup

VidyaMarg takes a skill you want to learn and turns it into an actual plan: it builds a full prerequisite dependency graph for that skill using an LLM, quizzes you adaptively to figure out what you already know, and then hands back a trimmed, personalized curriculum that skips what you've already mastered and focuses only on the gaps. It's part knowledge graph, part adaptive tutor, built as a college project to explore what happens when you combine LLMs with actual graph theory instead of just asking a model to "make me a study plan."

The Problem

Most curriculums are built for the average learner, not for you specifically. They make you sit through material you already know, and they rarely tell you the real prerequisite structure of a skill, what you actually need to understand before you can understand the next thing. I wanted to build a system that maps out those prerequisites explicitly, figures out where you already stand on that map, and only asks you to learn what's actually missing.

The Solution

VidyaMarg generates a directed acyclic graph, essentially a dependency tree, of every prerequisite concept needed to learn a target skill, using an LLM to propose the structure. From there, it runs you through an adaptive quiz that starts at the concepts with no dependencies and works its way up, marking what you know and don't as it goes. Once your knowledge state is mapped onto the graph, it computes the shortest path through the concepts you're actually missing, and hands that back as your personalized curriculum, complete with real study resources pulled from live search results for each step.

How a User Moves Through It

  1. Input a skill. The user types in whatever they want to learn on the landing page.
  2. See the map. The generated prerequisite graph renders visually, so you can see the actual shape of the skill before you commit to learning it.
  3. Take the quiz. An adaptive assessment starts from the graph's foundational concepts and works upward, adjusting based on your answers.
  4. Get the path. The final output is a trimmed, ordered curriculum covering only what you don't already know, each step linked to real resources.

Under the Hood

  • Frontend (Next.js, React, Tailwind, Framer Motion) handles the UI end to end, including a visual, interactive rendering of the prerequisite graph built with React Flow.
  • Backend (Python, FastAPI) owns all the actual domain logic: it calls Groq-hosted LLMs to generate the graph and quiz questions, uses NetworkX to validate and traverse the DAG, and scrapes live Google search results to attach real, current study resources to each concept in the final path.
  • Supabase (PostgreSQL) persists everything: sessions, the graph's nodes and edges, quiz state and results, and the final computed paths, including a cache of scraped resources so repeat lookups don't hit search again.
  • The system is split cleanly into a graph engine (builds and validates the DAG), a quiz engine (generates and scores adaptive questions), and a path engine (computes the final trimmed curriculum), each with its own dedicated service and API router.

The Hardest Part

The graph generation and validation logic was, by far, the hardest piece to get right. Asking an LLM to output a clean prerequisite structure sounds simple until you actually have to use that output: models would produce cycles where there shouldn't be any, invent dependencies that didn't make sense, or generate a graph that looked reasonable on the surface but broke down once you tried to actually traverse it for the adaptive quiz. Getting the LLM's output into something NetworkX could reliably validate and walk, without silently producing a broken or nonsensical curriculum on the other end, took the most iteration of anything in the project.

Outcomes

  • A complete, working system covering the full loop from "type in a skill" to "get a personalized curriculum with real resources," built and shipped as a college project.
  • A clean three-engine backend split (graph, quiz, path) that kept each piece of fairly gnarly logic isolated and testable on its own.
  • A genuinely different framing of AI-assisted learning: not a chatbot that answers questions, but a system that maps out what you need to know and adapts to what you actually already do.