Built to order

Study Planner with Exam Countdown and Revision Scheduler

This project builds a study planner web app around the two things students actually track: how many days are left for each exam, and what to revise today. It combines live exam countdowns with syllabus progress, a fixed weekly timetable, and an SM-2-inspired spaced-repetition scheduler that queues topic reviews at 1 → 3 → 7 → 14 → 30 day intervals. The dashboard shows today's sessions, focused hours and a study streak. Everything runs in a single HTML file with realistic demo data. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Software Engineering.

Study Planner with Exam Countdown and Revision Scheduler — project thumbnail preview
More project photos (2)

The problem

Students lose marks less often to difficulty than to disorganisation — syllabi finished too late, revisions crammed the night before, no honest record of hours actually studied. Existing study apps are usually either pomodoro timers with no plan or rigid timetables with no memory of what was actually learned. The gap this project fills is a planner that remembers: exam dates drive countdowns, countdowns drive urgency, and an SM-2-inspired spaced-repetition scheduler decides what gets revised today based on past recall ratings. A topic you failed yesterday comes back tomorrow; one you aced three times waits a month. That forgetting-curve logic is the interesting computer-science content — a priority queue keyed on overdue-days and exam proximity — wrapped in a dashboard students would genuinely open daily.

How it works

  1. Exams are stored as {subject, date, units, target, syllabus%} objects; days-left is computed live from the system date.
  2. When a topic session is completed, the student rates recall 1–5; the scheduler maps the rating to the next interval on the SM-2-inspired ladder.
  3. The revision queue sorts due reviews by an urgency score combining overdue days and the proximity of the linked exam.
  4. Passing a review advances the topic one rung up the interval ladder; failing resets it to 1 day — both update the queue immediately.
  5. The timetable marks queue-pulled reviews as (R) sessions so the week's plan reflects what the scheduler decided.
  6. The dashboard aggregates today's sessions into focused hours and completion fraction, drawn as a progress bar and a stacked weekly chart on Canvas.
  7. The full project extends this with accounts, cloud sync, a mobile PWA and teacher-shared study plans.

Tech stack:

  • HTML5, CSS3 (custom design system, no framework)
  • Vanilla JavaScript (ES6)
  • Canvas API for weekly study chart
  • Hash-based SPA routing
  • SM-2-inspired spaced-repetition algorithm
Parameter Value
App type Single-file web app (approximately 17 KB HTML)
Views 4 (Dashboard, Exams, Timetable, Revision Queue)
Scheduler SM-2-inspired intervals: 1 → 3 → 7 → 14 → 30 days
Demo data 3 exams, 6 daily sessions, 7 queued revisions
Charts Canvas stacked bar chart, computed live
Persistence In-memory demo build (localStorage path documented)
Routing Hash-based, deep-linkable views
Deployment Static file — any static host or opened directly

Project features

  • [Exam countdowns with syllabus tracking] Each exam shows days remaining, unit count, target score and a syllabus-coverage bar computed from completed units.
  • [SM-2-inspired revision scheduler] Recall ratings 1–5 set the next review interval (1 → 3 → 7 → 14 → 30 days); failed recalls reset to 1 day.
  • [Priority revision queue] Due reviews are ordered by urgency (days overdue × exam proximity) with pass/fail actions that reschedule instantly.
  • [Weekly timetable] Fixed study slots across the week with (R) markers for sessions pulled from the revision queue.
  • [Focus dashboard] Today's sessions with done/undo, focused-hours total, day streak and revisions-due count, plus a weekly hours chart split by first-learn vs revision.
  • [Add/remove exams and sessions] Full CRUD on exams and today's sessions in the demo build.
  • [Single-file SPA] Four hash-routed views, no build step, no server, deployable anywhere.

What is included

  • Complete single-file study planner web app
  • Spaced-repetition scheduler module with documented interval logic
  • Demo dataset (exams, sessions, revision queue, timetable)
  • Project report PDF (requirements, scheduler design, architecture, screenshots)
  • PPT presentation for final review
  • Viva Q&A preparation document (SM-2 algorithm, forgetting curve, SPA design)

Limitations & prerequisites

  • The demo build keeps state in memory — a refresh resets to the bundled dataset; the report documents the localStorage/cloud upgrade path.
  • Recall ratings are self-reported; the scheduler is only as honest as the input.
  • The interval ladder is a simplified SM-2 variant tuned for demo clarity, not a clinically validated memory model.
  • No accounts, sync or notifications in the demo build — listed as future scope.
  • Timetable is a fixed weekly template; drag-and-drop rescheduling is future scope.

Frequently Asked Questions

How does the revision scheduler decide what I study today?

Each topic has a level on an interval ladder (1 → 3 → 7 → 14 → 30 days). Your recall rating after a session moves it up the ladder or resets it on failure. Due reviews are then ordered by urgency: days overdue weighted by how close the linked exam is.

Is this the real SM-2 algorithm?

It's an SM-2-inspired simplification — the same core idea (expanding intervals on success, reset on failure) with a fixed ladder for clarity. The report documents the exact mapping and how full SM-2 differs.

Do I need a server to run it?

No. The demo is one HTML file that runs in any modern browser; persistence upgrades are documented in the report.

Can I add my own exams and subjects?

Yes — the Exams view has a full add form with date, units and target score, and exams sort by date automatically.

What would the viva focus on?

The forgetting curve, how SM-2 intervals work, the urgency scoring of the queue, and how you'd persist and sync this data in a production build.

Is this project suitable for a final-year project?

Yes — for Computer Science, IT and Software Engineering. It combines algorithms (spaced repetition, priority scheduling) with a complete working product. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Software Engineering.

Components & software requirements
  • HTML5, CSS3 (custom design system, no framework)
  • Vanilla JavaScript (ES6)
  • Canvas API for weekly study chart
  • Hash-based SPA routing
  • SM-2-inspired spaced-repetition algorithm
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Technical illustration of a cloud server pushing event envelopes outward to web application endpoints for payments, dashboards and chat.Web development and IoT students who have built a REST API or an ESP32 project and now need external services (payments, GitHub, messaging) to notify their app when things happen

Webhooks Explained: Receive Data from Payments, GitHub and IoT

A webhook lets a service call your server the moment an event happens — payments, code pushes, form submissions. This guide explains the event anatomy, HMAC signature verification, the fast-acknowledge reliability pattern, local testing, and how webhooks compare with polling, WebSockets and SSE.

Read guide
Illustration of Docker Compose orchestrating a full-stack application with frontend, API, database, and cache containers connected in one network.B.E./B.Tech Computer Science and IT students whose full-stack projects need a frontend, backend, and database running together and are tired of setup instructions that only work

Docker Compose for Full-Stack Projects

Stop juggling four terminals and setup docs that only work on your laptop. This guide builds a complete Docker Compose stack — frontend, API, database, cache — with annotated config, healthchecks, persistent volumes, and a dev/prod split that survives demo day.

Read guide
Illustration of a web page with a comment section: a shield filtering user input so scripts are neutralized into harmless text before rendering in visitors' browsers.B.E./B.Tech Computer Science, IT and Web Development students building web applications with user-generated content: comments, profiles, forums, dashboards

XSS Attacks Explained for Students

Cross-site scripting turns your comment section into code running in visitors' browsers. Learn the three XSS types conceptually, why browsers execute injected input, what it enables, and the defender's toolkit: output encoding, Content Security Policy, safe DOM handling, and hardened cookies. No payloads — prevention only.

Read guide
Get a quotation