Inspiration

Before an exam, students often have plenty of material but no clear starting point. Notes, readings, and slides are scattered across files, and deciding what matters takes time away from learning. We built Graphite to answer: “What should I study next, given my goal and the time I have?”

What it does

Graphite turns course files into a map of concepts and their relationships. Students enter a study goal, available time, and optional weak spot. Graphite builds an ordered route, explains why each topic belongs in it, and shows supporting excerpts from the uploaded material. Each step can also provide a summary, flashcards, practice questions, and optional narration.

How we built it

We built the interface with React, TypeScript, Vite, and Tailwind CSS, and the API with Python and FastAPI. A worker parses uploaded files, creates local embeddings with FastEmbed, and uses Gemini to extract concepts and relationships. PostgreSQL stores the course data, pgvector supports similarity search, and Apache AGE stores the concept graph. Our planner orders prerequisites and fits the route to the student's time budget. ElevenLabs supports optional narration and transcription.

Challenges we ran into

The hardest challenge was making the concept map useful for planning, rather than just displaying AI output. Relationships needed source evidence, and prerequisite edges needed a consistent direction. We also had to keep graph connections and supporting records in sync, handle cycles, and run PostgreSQL, pgvector, and Apache AGE together locally.

Accomplishments that we're proud of

Graphite turns a specific goal and time limit into a route with a reason and source evidence for each step. Students can inspect concept connections, then move straight into explanations and practice. The route is computed from the graph and time budget rather than generated as an unstructured AI list.

What we learned

Generating study content is only part of the problem. Students also need to know what to study first and why that order makes sense. Combining AI extraction, graph-based planning, and visible source evidence helped us address that bigger problem.

What's next for Graphite

We want practice results to update a student's weak spots and automatically revise their route. We also plan to test concept extraction across more courses, let students correct the map, and make importing materials from other study tools easier.

Built With

Share this project:

Updates

Submission history