Generate today's batch
How the daily batch works
Generate and share a fresh set every class day — the weekly theme keeps you on the 12-week plan, but each day gets its own link and QR code.
🎯 Assign to one student (optional)
When to assign to one student
Pick a task type and theme just for this student — independent of what's selected above, so you're free to give someone a different focus than the rest of the class right now. Uses only the first name you type here; nothing is stored beyond this session.
No batch yet
Pick a task type and a theme above, then generate a batch to begin.
Nothing for you today
Your teacher has not approved anything for you yet. You can still practice on your own — nothing here counts towards a grade.
How this app makes the exercises
Text comes from a local template engine — no external service, so it works offline and without waiting on anybody's server. The audio is pre-rendered: every spoken line is a small file named after the sentence itself, so every student hears the identical voice, and your browser's own Text-to-Speech steps in only when a line has no file yet. Speaking tasks use your browser's Speech-to-Text to read your words back — in Chrome that audio goes to Google to be transcribed — while the recording you play back stays on this device and is never uploaded. The sentence and words of the day come from one small file per month, downloaded once and then read offline. Images are hand-authored SVG scenes. Each module sits behind a swappable interface, so moving to a locally-hosted model later changes the engine, not the app around it.