Drills
Drill the framework’s own steps, weighted toward the ones you keep missing.
Lessons
Guided sets, run in a deliberate order.
0
Lesson complete
No beats yet
Nothing to quiz on yet. Add beats in your own words — a scene you remember, described how you'd describe it out loud — or restore the starter beats in Settings. Whatever you write stays in this browser.
No lessons for this framework yet
Walkthrough complete
Where what you type goes. Everything you write — beats, works, notes — stays in this browser, on this device, and is never uploaded. Signing in sends only your email address, and it unlocks frameworks: your writing and your progress are not part of an account and are never sent anywhere. If you use Report a problem, the app sends its own state and your note, and shows you the whole block first. What you write is included in any backup you export, so a backup file contains whatever you put in — worth knowing before you send one to someone.
What you put in is your call. Beats are capped at 200 characters, which keeps them descriptions rather than reproductions, and describing what a beat does works fine for a work still in copyright. Pasting someone else's dialogue, script pages or transcripts is up to you and at your own risk.
Stories were tidied up
Beats used to name their story as free text, so the same story could appear under several spellings. Matching titles were folded together. Anything that only looks similar is left alone until you say.
Stories in Play:
Narrow the bank, the quiz and your progress to one medium. Stories switched off above stay off whichever you pick.
Analyze
Grade a draft of your own against the active framework, or lay a story from the beat bank across every framework at once.
Needs your Anthropic API key — add it in Settings. What you paste goes from this browser straight to Anthropic.
Result
Paste a full script. It gets read against every framework this medium allows, ranked by how well it fits, with the beats it cannot find named rather than counted. Nothing reaches your bank until you tick it.
The script stays in this tab's memory and is never saved. Reload and it is gone — what persists is the verdict, a 400-character excerpt, and whatever beats you keep.
How it fits
The work
Your notes
Yours, not the model's — these are saved with the run and never mixed into its verdict.
0 / 1000
Beats it found
Edit anything before you take it. A flagged beat is unticked, not blocked — the call is yours.
Keep a record
Full record carries the draft as well, and only while this session holds it. Verdict only is the stub, the verdict and your notes — available from run history forever.
No stories in the bank yet
Compare reads what you have already filed. Add beats against a story in the Beat bank, or restore the starter pack in Settings, and it will show up here.
Progress
Accuracy by step, daily, weekly and all time.
No analysis runs yet
Runs from “Analyze” land here — with the rubric you used, so you can tell a real improvement from a looser grader.
Settings
Appearance, timing, your key, and your data.
Account All frameworks
Frameworks All frameworks
Which sheets appear in the bar at the top. Switching one off hides it — nothing you have written there is deleted, and it returns as you left it.
Appearance All frameworks
The paper themes write prompts onto the page a line at a time. Answers never animate — a reveal that takes a second changes what “did I know it?” means, and that is the one thing this app is measuring. Your system’s reduce-motion setting turns the animation off on its own.
These settings are per framework. The card timer, card mode, analysis rubric and progress period are each remembered separately for each Story Framework. Your API key and model ID are shared.
Drill timer
When the timer runs out the answer reveals itself and the card is recorded as a miss. Timeouts are counted separately on the Progress tab, so you can tell "didn't know it" from "was still thinking".
Getting started
The tour that runs the first time you open the app. It is the shortest description of what everything does, so it is here rather than gone forever.
About
Add a beat batch
Adds beats to the current framework's bank without touching anything else. Beats already present are skipped, so re-importing the same file changes nothing. Each beat is checked against the 200-character cap and the source list before any of it is written.
The template has one row per beat and a Steps sheet listing every framework's numbering. Fill it in, save it as .xlsx or .csv, and load it with the button above — .json batches still work unchanged.
Your data
Everything lives in this browser. Clearing site data wipes it. Export before you reinstall. Backups cover both frameworks.
Exports include your beats and stats. They never include your API key. Restore replaces your beat banks with the file — that is what makes it useful for undoing a bad afternoon. Merge adds the file to what is already here, keeps the newer copy of any beat both have, and carries deletions across — which is what you want after drilling on a phone and a laptop. To add beats from a spreadsheet instead, use the batch import above.
Sync
Never synced
While you are signed in, your beats, works, practice and history are kept in step across your devices through a copy on the server. Your settings, your API key and the text of any script you analyze never leave this device.
Export your practice log
One row per graded card, in the order you answered them, with the step named rather than numbered. This is a record, not a backup — it restores nothing and cannot be imported.
The log ages out on its own, so an export can only cover what is still stored. The count above says what was actually found, not what was asked for.
Starter beats
Starter beats describe public-domain works and are written for this app, not quoted. Removing them never touches beats you wrote — anything you write stays in this browser and is never part of the repository.
Reset settings
Puts every setting back the way it shipped — theme, timer, card mode, rubric, which frameworks show, the model ID and the tour. Your beats, progress and run history are not touched, and neither is your API key.
Reset lesson progress
Puts every lesson back to unstarted, on all four frameworks, so you can run the curriculum again. Your beats, your card and quiz accuracy, your run history and your notes are not touched.
Anthropic API key All frameworks
localStorage only, and sent only to api.anthropic.com.
It is never written to a file in this repo. Anything in localStorage is readable by any script running on this page —
use a key you can rotate, and never commit a key to git.
Model All frameworks
If the API returns a “model not found” error, change this to a model ID your account can use.
Delete everything on this device
Removes every beat you have written, all progress, accuracy, lesson completion, game records, run history, notes, settings and your API key, then reloads. The app comes back exactly as it installs — starter beats and all. This cannot be undone and nothing is kept anywhere else, so export a backup first if there is anything you want.
App
Checking offline status…
Reporting sends the app's own state with your note — version, framework, which mode was open, the last few answers. No beats, no notes, no works and no API key, and you see the whole block before it goes. A page cannot screenshot itself, so take one the usual way and attach it to the reply.
Games
Modes that teach something the quiz and the drills cannot.
Story Doctor. Every case is one story's outline, typed up. Some pages have beats sitting under the wrong slug line — you are not told how many, and some pages are clean. Tap two beats to trade them back. When the page reads right, sign it off.
Order or Chaos. Index cards cross the line. Each carries a slot from the circle — send it to the half it belongs to. A wrong call costs more than a right one pays.
Page Count. A magnet slides the page line. Mark the page the named beat belongs on — once for a pinned page, twice for a span.
Coverage. One film, read twice. Both sheets arrive mostly filled, with a few beats pulled out of each and handed back loose. Put them back.
Slugline. You are the red pen. Everything a reader would cut comes at you across the page; cut it, and when the page stops, answer for your structure in time and the pen gets better.
Act Break. A crumpled page flies down the table with an act written on it. The end it is heading for has two index cards; circle the one that belongs in that act, and it comes back. Five scenes, a new twist in each, and the Showrunner at the end.
Map Explorer. Every stop on the route is a beat, and every beat is one of two things: imposed — it happens to the hero — or chosen — the hero does it. Call each one right and the expedition moves up the map.
Stuck In Development. Your beats are pinned up the board in order. Name the one above you and you climb to it — the notes are stacking up underneath.