Reading and listening have an answer key — you can drill them alone. Writing doesn't: it needs an examiner scoring your work against a rubric, which is exactly the scarce, expensive thing a DELE/SIELE candidate can't get on demand. Aprueba is that examiner — it scores the four Instituto Cervantes dimensions separately, estimates your CEFR level as a calibrated range instead of a false-precise grade, and corrects your exact words. The hard part wasn't making an AI grade an essay; it was measuring how reliable that grade actually is, and showing the uncertainty on screen.
Of the four exam skills, two grade themselves — reading and listening come with a key. The other two don't. So a learner preparing for DELE or SIELE can drill everything except the skill the exam actually turns on: producing language. Real feedback on a piece of writing means a human examiner reading it against a rubric — scarce, slow, and expensive, which is why most learners walk into the writing paper never having had their writing marked.
Software hasn't fixed this for a real reason: grading open-ended writing reliably is genuinely hard. It's subjective, and the naive move — "ask the model for a score" — produces a number that's confidently wrong and impossible to trust. The interesting problem isn't generating feedback; it's knowing how much to believe it.
The model can read and correct Spanish well, but you cannot take its subjectivegrade at face value — so Aprueba is built as a measurement-and-constraint harness wrapped around a stochastic grader, not a chat prompt that returns a score. Each Instituto Cervantes dimension is scored on its own, before any overall verdict, so one strong paragraph can't inflate the whole. The level is a calibrated range, never a hard point. Every correction must quote the learner's exact words — and any the code can't verify verbatim is dropped. The deterministic checks stay in code. And, crucially, a gold-set eval turns "is it any good?" into a number you can actually look at.
The discipline is the same one that runs through the rest of my work: the model proposes; deterministic code decides; and the whole thing is measured rather than asserted.
The Feedback screen refuses every shortcut that would make the grader look more certain than it is. The level is a shaded band with an explicit "an estimate, not an official result." The four dimensions are scored apart. The word-count and points checks wear a"checked in code" chip, because the model doesn't grade those. And every correction quotes the learner's exact words before the fix — the app corrects what you wrote, never an invented error. When you write something off-topic, it says so: task fulfilment scored honestly low, and zero corrections manufactured. The interface would rather under-claim than flatter.

Uncertainty made visible — a banded level estimate, four dimensions scored apart, checks marked "in code," and every correction quoting the learner's own words.

Write off-topic and it scores task fulfilment low with zero fabricated corrections. It would rather under-claim than flatter.
The gold set is small — about 13 author-labeled essays, a directional signal rather than a validated benchmark — so I read the numbers honestly. Against it the grader agreed with the human label at 0.91 by quadratic weighted kappa and was never off by more than one CEFR level; essays were near-perfect and the entire gap was short A2 letters over-graded by a single level. The measurement also overturned my own assumption: the level estimate turned out near-deterministic, so there was little level variance to reduce — the real stochasticity lives in the corrections, and that's where multi-pass earns its keep, dropping ~44% of the one-off suggestions only a single pass proposed. The confidence band proved informative (narrow bands were exact hits 91% of the time; the misses carried the wide ones), and the scores drift run-to-run between 0.85 and 0.91 — which is precisely the stochasticity the harness exists to manage. A grade costs about ₹1.13 and ~12s single-pass; exam mode runs three grades in parallel for ~₹3.38, staying well under the platform's 60-second cap.
The interesting result wasn't the score — it was learning where the grader was actually unreliable, and it wasn't where I'd assumed. Try it ataprueba.vercel.app.
Anyone can make an AI grade an essay. The product was measuring how often it's wrong — and showing that on screen.