StudyScroll
StudyScroll icon: a golden twenty-sided die with a glowing core

Spaced repetition for coursework, with a dungeon crawl under the reviews.

A personal project. No account, no ad tracking, free.
Live demo

Answer five cards.

This is the real interaction, running right here on the page. The deck happens to be about why the app works.

Study Science 0 XP
+12 XP

Keyboard works too: 1–4 to answer, T/F for true or false, Enter for next.

Six ways to run a deck

Each mode exists because a study week needed it.

One scheduler runs underneath all of them.

⚔️ Dungeon

Your weak cards become the boss fight. Wrong answers hit back.

Tier 4 boss
The Transfer Agent

🧠 Active Recall

Fact cards flip into fill-the-blank, so you have to pull the answer up instead of spotting it.

Fill the blank

The runs through the carpal tunnel.

📅 Review Due

Exactly what the scheduler says is due today. Nothing else.

Review due 37

📝 Exam mode

A timed mock exam sampled from your lectures, scored like the real thing.

Mock final
80 questions · 90 min
42:17

🔒 Lock-In

Rewards and sounds go off, and a timer runs.

XP · COMBO · STREAK muted

🔥 The long game

A daily-goal streak that only counts days you actually studied.

28 days
The build

What's underneath.

3,889cards across 10 courses
215tests, all green
0accounts required
~1scold load, offline after

Custom spaced-repetition scheduler

An SM-2 style engine tuned for real course rhythms: graduated intervals, lapse handling, and wrong-answer priority that resurfaces what you fumbled.

Sound with zero audio files

Every sound is synthesized at runtime from one A-major pentatonic palette, so any two overlapping tones stay consonant. The whole soundscape ships as code.

Offline-first PWA

Strategy-per-asset service worker, per-course code splitting, and IndexedDB storage. Airplane mode is a supported study environment.

End-to-end encrypted sync

Optional cloud backup to a personal Cloudflare Worker. A 120-bit code is both identity and AES-256 key; the server only ever sees ciphertext.

React 19, TypeScript strict

A content-integrity test suite validates every card in every deck: gradeability, unique ids, valid lecture keys. Bad content cannot reach the build.

A content pipeline

Weekly lecture slides become validated flashcards through a documented authoring loop with automated card counting and drift locks.

Why it works

The mechanics are borrowed from cognitive science.

The game layer is sugar. The engine underneath follows three findings that keep replicating.

Retrieval practice

Testing yourself beats re-reading for long-term retention, even when the testing feels harder and less productive.

Roediger & Karpicke, 2006

The spacing effect

The same hours spread across days beat the same hours crammed into one night, by a wide and reliable margin.

Cepeda et al., 2006

Desirable difficulty

Conditions that slow learning down, like mixing topics and delaying review, tend to improve what survives a month later.

Bjork, 1994 · Rohrer & Taylor, 2007
The quiet part

Your studying is nobody's data.

There is no account to create, no ad tracking, and no third-party analytics. Everything you study lives on your device, and the optional sync is encrypted with a key only you hold. Anonymous usage and crash reports go to the app's own server so problems get fixed — never your answers.

No accountNo third-party trackingWorks offlineEncrypted syncFree