Inspiration

College exam preparation is often dominated by cognitive overload: endless multi-item to-do lists, noisy notifications, countdown timers, and streak mechanics that can turn studying into a source of pressure rather than focus.

When students are balancing four to six subjects at once, deciding what to study next can become almost as exhausting as studying itself.

I asked myself:

What if a study planner was radically calm, evidence-based, and unhurried?

Instead of showing students ten things to worry about today, what if it presented just one subject, paired with a concrete learning technique suited to that subject?

That question became Cadence.

What it does

Cadence is a calm, science-based study planner designed to reduce cognitive overload by giving students a clear study focus while intelligently pacing their syllabus and reviews.

  1. Single-Task "Today" View

Cadence assigns exactly one subject per day, paired with a concise study instruction based on evidence-informed learning techniques.

For example, students may receive techniques such as interleaved practice for Math and Physics, code tracing for Computer Science, dual coding for Languages, or elaborative interrogation for History.

  1. Adaptive Syllabus & Exam Pacing

Cadence tracks remaining syllabus work against upcoming exam checkpoints.

As students complete new material, subjects transition into structured review using expanding intervals of 1, 3, 7, 14, and 30 days.

The scheduling system dynamically adjusts priorities when a subject is falling behind or an exam is approaching.

  1. Calm Progress

Instead of punitive streak counters, Cadence uses low-pressure milestone visualizations to show consistency without making students feel like they have "failed" because they missed a day.

  1. Exam Simulation Room

The Exam Room provides a focused, timed environment for 30–90 minute study sessions, allowing students to practice concentration and working under exam-like time constraints.

  1. Visual Study History

The History view visualizes study sessions and the gaps between reviews, allowing students to see their study rhythm and spaced-repetition patterns over time.

How I built it

I built Cadence as a full-stack web application using TanStack Start, React, TanStack Router, Tailwind CSS, and Lovable Cloud with PostgreSQL/Supabase.

The application includes authentication, persistent user data, and row-level security to keep each user's study data isolated.

The core of Cadence is its scheduling engine.

I built a rolling 30-day weighted scheduling system that considers:

Remaining syllabus workload Upcoming exam checkpoints How far behind a subject is Previous study sessions Spaced-review intervals

When a subject still has uncovered material, its priority is influenced by both the amount of remaining work and the time remaining before its exam.

Once the target material is covered, the subject moves into review mode using expanding intervals:

1 → 3 → 7 → 14 → 30 days

I also created a persistent daily_assignments system so that a student's assigned subject does not unexpectedly change if they refresh the application or log partial progress during the day.

Challenges I ran into

Preventing Day-Plan Drift

One of my biggest problems was that the scheduling algorithm could recalculate when progress was logged or the browser was refreshed. This could cause "Today's Subject" to change during the same day.

I solved this by introducing a dedicated daily_assignments table with unique date constraints, locking the daily assignment once it is created.

Separating Exam Scope from the Entire Syllabus

An upcoming exam may only cover part of a course.

I therefore had to distinguish the full course syllabus from the chapters relevant to the next exam checkpoint. This allowed Cadence to prioritise what students actually need to prepare for next instead of treating every chapter equally.

Designing for Calm

One of the most difficult design challenges was deliberately not adding common productivity patterns.

Instead of red warnings, aggressive countdowns, constant notifications, streak pressure, or excessive animations, I used subtle visual feedback, warm golden-hour tones, and a quieter information hierarchy.

Creating a calm product required just as much restraint as adding functionality.

Accomplishments that I'm proud of

I'm especially proud that Cadence doesn't simply call itself "science-based" — its core experience is structured around learning techniques and spaced review.

I'm also proud of building a scheduling engine that adapts to both syllabus progress and exam urgency rather than simply generating a static timetable.

Another accomplishment was turning the philosophy of "less pressure" into an actual product experience. The interface, progress system, scheduling model, and Exam Room all reinforce the same idea:

Help students focus without making them feel constantly behind.

What I learned

I'm especially proud that Cadence doesn't simply call itself "science-based" — its core experience is structured around learning techniques and spaced review.

I'm also proud of building a scheduling engine that adapts to both syllabus progress and exam urgency rather than simply generating a static timetable.

Another accomplishment was turning the philosophy of "less pressure" into an actual product experience. The interface, progress system, scheduling model, and Exam Room all reinforce the same idea:

Help students focus without making them feel constantly behind.

What's next for Cadence Study Planner

Retrieval Practice

I plan to add lightweight flashcard and retrieval-practice workflows directly into the Today review experience, particularly for language and definition-heavy subjects.

Past Paper Tracking

I want to connect the exam simulation room with past paper practice, confidence tracking, and mistake categorisation so students can identify the topics they repeatedly struggle with.

Calendar Integration

I plan to allow students to export their daily Cadence study block to Google Calendar or Apple Calendar as a protected, distraction-free focus session.

Ultimately, I want Cadence to become more than a planner.

I want it to become a quiet study system that helps students know what to do, when to review it, and how to keep moving without constantly feeling behind.

Built With

  • algorithms
  • cloudflare-workers
  • cognitive-science
  • css3
  • d3.js
  • edge-computing
  • full-stack
  • google-oauth
  • html5
  • lovable
  • lucide-react
  • playwright
  • postgresql
  • radix-ui
  • react
  • responsive-design
  • spaced-repetition
  • sql
  • supabase
  • tailwindcss
  • tanstack-router
  • tanstack-start
  • typescript
  • vite
Share this project:

Updates

Submission history