Inspiration
Students often have limited time before exams but no clear way to decide what deserves their attention first. Most study planners create generic schedules, while AI tutors try to teach everything. Exam Compass was inspired by a simple question:
"Given the time I have left, what is the smartest way to study my syllabus?"
Instead of replacing teachers or creating another chatbot, the goal was to build an AI-powered study strategist that helps students prioritize what matters most and make the best use of their remaining time.
What I Learned
Building Exam Compass taught me how to transform an AI model into a reliable product feature rather than a simple chat interface. I learned to use the OpenAI Responses API with structured JSON outputs, making AI responses predictable and easy to render.
I also gained experience with:
- Server-side PDF and TXT syllabus extraction
- Designing effective system prompts for planning and prioritization
- Building typed API routes with Next.js and TypeScript
- Creating responsive UI states for loading, errors, and generated results
- Generating downloadable study roadmaps from AI output
How I Built It
Exam Compass is built with:
- Next.js
- TypeScript
- Tailwind CSS
- shadcn/ui
- OpenAI GPT-5.6 (Responses API)
Students enter:
- Subject
- Class or Grade
- Days remaining until the exam
- Available study hours per day
- Optional target score
- Their syllabus by either pasting topics or uploading a PDF or TXT file
The backend extracts text from uploaded files, combines it with the student's study constraints, and sends everything to GPT-5.6.
The AI analyzes the syllabus and generates a structured study roadmap including:
- Estimated study coverage
- Priority-ranked topics
- Day-by-day learning plan
- Revision strategy
- Personalized study tips
The interface supports dark mode, roadmap regeneration, copying results, and exporting the study plan as a PDF.
Challenges I Ran Into
The biggest challenge was ensuring the study roadmap was realistic rather than overly ambitious. AI tends to produce idealized schedules, so I designed a focused system prompt and a structured response format that forces the model to consider available study time, topic dependencies, revision days, and achievable syllabus coverage.
Another challenge was handling syllabus uploads safely and efficiently. The application validates file types and sizes, extracts text from PDF and TXT files entirely in memory, and provides clear error messages for invalid inputs, missing configuration, or AI generation failures, ensuring a smooth experience for students.
Built With
- css
- next.js
- tailwind
- typescript


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