Inspiration
Panic-studying the night before an exam with 50 pages of notes and no time to make flashcards. We wanted an app that does the hard part for you — just drop your notes and go.
What it does
Upload a PDF, get AI flashcards instantly. Wrong answers re-queue automatically so you drill your weak spots. Every 3 correct answers earns a game credit for a Water Sort puzzle brain break. Sessions and progress persist across reloads so you never lose your place.
How we built it
| Layer | Tech |
|---|---|
| Framework | Next.js 15 (App Router) |
| AI | Groq API — Llama 3.1 8B Instant |
| Database | Prisma + SQLite |
| Client state | localStorage |
| Animations | Pure CSS keyframes + hand-crafted SVGs |
Challenges we ran into
- PDF parsing in Turbopack —
pdf-parsecrashes at module load time; required importing directly from its internallib/path viacreateRequire - API quota burnout — exhausted two Gemini API keys during testing, pivoted to Groq for a genuinely free and faster model
- Prisma v7 breaking changes — database URL silently moved out of
schema.prismainto a newprisma.config.tsfile
Accomplishments that we're proud of
- 🌊 A fully animated underwater world — sharks, jellyfish, tropical fish, anglerfish, manta ray — built entirely with SVG + CSS, no canvas or WebGL
- 🤿 A diver mascot with contextual speech bubbles on every page
- 🎮 A credit-reward loop that makes revision feel like progression, not punishment
- 💾 Session state that survives tab closes and navigation — students can trust it
What we learned
- Reward systems don't need to be complex to change how an app feels to use
- Pure CSS animation can handle far more complexity than most developers attempt
- PDF text quality is the real bottleneck for AI flashcard quality — clean PDFs produce excellent cards
What's next for ReviseFlow
- 📄 DOCX and image support
- 📅 Spaced repetition scheduling across days
- 👥 Multiplayer study rooms — compete on the same deck in real time
- 🎮 More mini-games tied to the credit system
Log in or sign up for Devpost to join the conversation.