Cram.ai — Turn Notes Into Levels
Inspiration
Turn messy PDFs/notes into playable practice so studying feels like clearing levels, not grinding pages.
What it does
- Upload PDF/TXT → auto topic roadmap (levels)
- Per-node MCQs with hints + adaptive difficulty
- XP/coins rewards; shop for hints/perks
- Progress tracking and auto-advance
How we built it
Stack: Node.js/Express, MongoDB/Mongoose, React
Backend: JWT cookie auth; courses/notes CRUD; PDF/TXT ingestion; roadmap builder; quiz engine (per-node difficulty); progress; shop; rate-limit + error handling
Frontend: retro, responsive flow → Login → Course → Upload → Build → Play → Shop
Key flows:
- Notes pipeline: extract →
Note→ link toCourse - Roadmap: lightweight topic extraction → nodes + start location
- Game loop: answer → award XP/coins → adapt difficulty → update location
Challenges
- Noisy/scanned PDF parsing
- Tracking game state with stateless requests
- Cheat-resistance (answers server-side)
- Syncing roadmap, progress, and rewards
Accomplishments
- End-to-end upload → roadmap → quiz → rewards → shop on real notes
- Adaptive difficulty with smooth progression
- Clean API surface:
/courses,/notes,/roadmap,/nodes/*,/progress,/shop
What we learned
- UX speed matters as much as accuracy
- Lightweight topic extraction is enough for an MVP
- Hackathon shortcuts need a production hardening plan
What’s next
- Plug real LLMs (OpenRouter/Gemini) + grounded distractors
- Spaced repetition & mastery paths (boss levels)
- Topic embedding graph across courses
- Better ingestion (OCR/layout anchors to sources)
- Leaderboards/streaks/cosmetics; richer shop
- Production: password hashing, persistent game state, multi-tenant scaling

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