Inspiration
Every exam season we hit the same wall. It wasn't a lack of effort. We just couldn't work out how to divide our time. We'd stare at a syllabus, count the days left, and waste hours deciding what to study first. Then one missed day would break the whole plan and we'd give up on it.
We wanted a planner that does the thinking for us and doesn't fall apart when life gets in the way.
What it does
ExamWise turns three simple inputs into a day-by-day study plan: the days left, the hours you can study each day, and your subjects with their difficulty and number of modules. You can also paste your syllabus so modules get real topic names.
- Smarter hours: harder subjects and heavier modules get more time
- Mixed days: subjects are interleaved so you aren't stuck on one for days
- Quick reviews: a short review is added a few days after each module
- Lighter days: every 7th day is lighter, so you don't burn out
- Revision phase: the last days before the exam are for revision, ending with a mock paper
- Missed a day? One tap re-plans. Finished modules stay done and the rest are re-spread
- Overload warning: it tells you if your syllabus doesn't fit your hours
- Calendar export: the plan goes into Google or Apple Calendar with phone reminders
How we built it
ExamWise is a single static web app built with HTML, CSS and vanilla JavaScript. It has no backend and no sign-up, and plans are saved in the browser, so it works instantly on any phone.
The scheduler gives each module a share of your total study hours, based on its difficulty and weight:
$$h_m = \frac{d_m \cdot w_m}{\sum_i d_i \cdot w_i} \times (C - R)$$
Here $d_m$ is the subject's difficulty, $w_m$ is the module's weight, $C$ is your total study capacity and $R$ is time reserved for reviews. Each day, a greedy step picks the subjects that are most behind schedule and avoids repeating yesterday's.
We built it with Claude as our coding partner, deployed it on Netlify, collected feedback with Netlify Forms, and measured real usage with GoatCounter.
Challenges we ran into
- Even splits felt wrong. Our first version just divided days equally. Making it smart meant weighting by effort, spacing out reviews and mixing subjects.
- Re-planning had to be trustworthy. We froze the plan so ticks don't change from day to day, and tracked finished modules so rescheduling never repeats completed work.
- We cut features on purpose. We prototyped an AI quiz and flashcards. But they needed a paid server-side key, and flashcards made students type all the content, which defeats the point of saving time. We chose fewer features that work for everyone, instantly, with no account.
Accomplishments that we're proud of
In its first week, [X] students visited and [Y] built a full plan, mostly on their phones. One reviewer told us: "previously, I used to waste a lot of time just figuring out how many hours to study before an exam." Another praised the UI and UX.
What we learned
Students want less work, not more features. Real user feedback changed our priorities faster than our own ideas did, and every feature we cut made the product clearer.
What's next
- AI-generated quizzes and flashcards from a pasted syllabus, through a secure backend
- A 1 to 3 star confidence rating per module that feeds into re-planning
- Streaks and progress stats
- Syncing plans across devices
Built With
- claude
- css3
- goatcounter
- html5
- icalendar
- javascript
- localstorage
- netlify
- netlify-forms
Log in or sign up for Devpost to join the conversation.