Adaptive Study Planner with Spaced Repetition
An adaptive study planner for university and exam-prep students that schedules review around what each learner actually forgets, using a spaced repetition algorithm, per-item difficulty and topic prerequisites. A beginner-friendly final year project with a real algorithm inside and an evaluation you can run in one semester.
Beginner
Achievable by one student in a semester with familiar tools.1 semester · 1 to 2 students
7 to ship
4 optional extrasSuggested stack
What you should ship
- Content model for courses, topics and items, with prerequisite links between topics and import from CSV or an Anki-style export
- A scheduler implementing SM-2 first and then a memory-model scheduler such as FSRS, selectable per user
- A review screen with self-rated recall (again, hard, good, easy) that updates the schedule instantly
- An exam-date planner that spreads new items and reviews so no day exceeds a set time budget
- Prerequisite awareness: repeated failures on a topic surface its weakest prerequisite for review first
- A progress dashboard showing estimated retention per topic and the review workload for the next 14 days
- A simulation comparing your scheduler against fixed-interval review on synthetic learners with a defined forgetting curve
If you have time left
- Question generation from uploaded notes with a language model, with every generated card reviewed by the learner before use
- Offline-first mobile web app so reviews work on a bus without data
- Urdu interface and right-to-left card support
- A small real study with classmates over four weeks comparing planner users against their usual method
The problem students have with revision
Most students revise by rereading notes the week before the exam. It feels productive and produces poor long-term retention. Spaced repetition, reviewing an item just before you would forget it, works considerably better and is well supported by memory research. It is not universal because scheduling by hand is tedious, and because flashcard apps do not know about exam dates or which topic depends on which.
A student preparing for a university final, a professional exam or an entrance test needs to know what to study today, not just which card is due.
What already exists and the gap
- Anki is the open-source standard for spaced repetition. Its scheduler now includes FSRS, a machine-learning-based memory model that personalises intervals from a user's review history.
- RemNote combines notes and flashcards with built-in spaced repetition.
- Quizlet is popular for making and sharing study sets, with learning modes that mix in review.
These are strong flashcard tools. The gap is planning: none of them start from "my exam is on the 14th and I have 90 minutes a day", and none model that failing on recursion might really be a weakness in functions. A planner that combines a proven scheduler with exam dates, time budgets and prerequisites is a clear, defensible step beyond a flashcard clone.
What you build
Two roles: the learner, and optionally a teacher who publishes a course deck with topics and prerequisites.
Main flows: import or write items, set an exam date and daily budget, review today's queue, see the dashboard, and get nudged to a prerequisite topic when one keeps failing.
Implement SM-2 yourself first; it is a page of logic and teaches you the idea. Then add FSRS using the open-source reference library, and compare.
The technically interesting part
The hard problem is prerequisite modelling on top of scheduling. Working out that a learner keeps failing a topic because an earlier one never consolidated, and acting on that without flooding the queue, is where this becomes more than a flashcard app. A simple approach: when an item in topic B fails repeatedly, estimate retention for each prerequisite topic from its items, and promote reviews from the weakest one.
The second is workload smoothing. A naive scheduler creates huge review spikes. Spreading new items so the daily load stays under the learner's budget, and still finishes before the exam, is a small constrained optimisation you can explain clearly.
How to evaluate it
You cannot run a controlled study on real students in one semester, so simulate:
- Synthetic learners: define learners with a known forgetting curve and item difficulties. Run SM-2, FSRS-style scheduling and fixed-interval review against them. Report retention at exam day per hour of study.
- Prerequisite test: give synthetic learners a weak prerequisite and measure how quickly each scheduler recovers.
- Workload: maximum and variance of daily review time.
- Usability: five classmates use it for two weeks; record completed reviews and a short survey.
State clearly that the main result is a simulation. That is a respectable result when it is done carefully.
Suggested plan
- Weeks 1 to 2: read about SM-2 and FSRS, design the data model.
- Weeks 3 to 5: items, topics, import, review screen with SM-2.
- Weeks 6 to 8: FSRS, exam planner and workload smoothing.
- Weeks 9 to 10: prerequisite logic and dashboard.
- Weeks 11 to 13: simulation study and classmate pilot.
- Week 14: report and demo.
Path to a product
The first customers are tuition academies and exam-prep teachers who already make question banks and want students to retain them. Offer a free tier for individual students and charge a teacher or academy per course per term for publishing decks with prerequisites and seeing class-level retention. Scale by adding ready-made decks for popular exams, written with teachers, not scraped.
Scope warning
- Do not build a content library; users bring their own material.
- Do not build a native mobile app; a responsive web app is enough.
- Do not invent your own memory model from scratch before the baselines work.
- Do not claim learning gains from a two-week pilot with five people.
Learn what you need on Sefism
- Full-stack roadmap : front end, back end and database for your first complete app.
- Backend cheat sheet : models, APIs and queries for the scheduler service.
- Django REST Framework : the API layer for reviews and schedules.
- From Data to Viz : pick the right chart for retention and workload.
- How to take notes and remember what you learn in programming : the learning science behind this idea, applied to yourself.
Get help with this idea
This is a good solo project if you keep the scope on scheduling, planning and a careful simulation. Tauseef can help you set the scope, choose between SM-2 and FSRS for your baseline, and design a simulation your examiners will accept. If you are new here, create a free account first.
Ideas and guidance, not finished projects
These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.
Not sure this one fits you?
I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.