Progress needs evidence
Level estimates use independent, assessable work. Assisted answers and deliberate reviews are excluded from promotion evidence, so using help does not falsely inflate progress.
A language-learning system built around the learner.
An adaptive French practice workspace covering reading, listening, speaking and writing. Built from a problem I know personally: making consistent, useful progress in another language.
Open live productProduct illustration · Explore the actual interface through the live product link.
A learner needs more than an endless feed of exercises. Practice needs to reflect their level, preserve their work, and make progress visible without mistaking assisted answers for independent ability.
Personal product: built and iterated the application, adaptive practice rules, AI integrations, account experience and deployment.
A deliberately simplified view of the product. The decisions below explain the boundaries that matter.
Level estimates use independent, assessable work. Assisted answers and deliberate reviews are excluded from promotion evidence, so using help does not falsely inflate progress.
Verified sessions and per-user Row Level Security protect progress. Server routes mediate paid AI calls; browser clients never receive privileged credentials.
Generated exercises are validated with bounded retries. Rate limits are backed by shared database state. Provider failures appear as failures rather than fabricated scores.
Publish a versioned evaluation set for exercise quality and a repeatable speaking-assessment comparison.