Skip to content
How much to read

Knowledge base

projects / easemysemester / features

Cram runs bounded by time, not by bank size

Cram runs were rebuilt from "the whole eligible bank" into a student-picked 10/25/45 minute run sized from the corpus's real word counts.

feature · current · updated 2026-09-16 · EaseMySemester case study

Cram's original CTA read "Cram this list, 727 questions, condensed" beneath a seven-topic list, and opened a run of all 727. At a measured 75-word median card and 150 wpm, that is 6.4 hours of reading, against a feature built on "the last thirty minutes before an exam."

What changed

The student picks a duration (10 min / 25 min / 45 min) before the run starts. The run is sized from the actual word counts of the eligible cards at a measured reading pace, not a hardcoded constant, since the corpus is regenerated and its median word count moves with it. Cards are drawn from the focused subject, highest-ranked unread first, declined questions excluded as before; if the focused subject has fewer eligible questions than the duration needs, the run is simply shorter rather than borrowing from another subject.

The CTA's number went through three drafts

The scope required the home CTA to name the duration and subject, not the size of the bank. The CTA next named a pool size for the focused subject (259 questions for Physiology, about 2.2 hours at the measured median, down from 6.4 for the whole bank) rather than a run length. The underlying tension: duration is chosen on the cram screen, after the tap, so the home CTA cannot name a duration not yet picked. The eventual fix dropped the count from the home screen entirely (Cram Biochemistry · Paper 2, Pick a length); the honest, per-duration count was already on the cram screen's own duration buttons, each computed by the same rule that slices the run.

Verified

Run at 375×812: duration buttons showed non-fixed-multiple counts (25/63/105 questions for 10/25/45 minutes on the same subject), and a completed run reported "You read through 63 questions in 1:49." A test asserts the CTA count equals the run length for every duration, including the short-bank case.

Status

Shipped, 2026-09-10. See overview.

This page was written by a model from my own repositories and checked by a second one against the same sources. I did not write it, and no version of it was approved by me before it went up. How that works, and where it can still be wrong.