Writing

Three Tries at NC’s Math Acceleration Test, So I Built an App

My daughter took North Carolina’s math acceleration test three times before she passed. I built a free practice app so my son can study the right material the first time.

5 min read

  • Education
  • AI
  • Claude Code

My daughter took the math Single Subject Acceleration test three times before she passed. SSA is how a Wake County student skips a grade in math. They sit a test on the grade they want to skip, and if they score 80% or better, they move up.

The first time we didn’t study at all, YOLO-style, and she bombed it. The second time we studied hard, just the wrong material. The third time I went through every standard for the grade myself, wrote my own practice problems, and she passed. I was exhausted. That was four years ago.

My son is in 4th grade now, and this time I’m not writing practice problems by hand. I built NC Math SSA Prep, a free practice app for grades 1 through 5, with Claude. He’s user number one.

A quick tour: the parent sets it up, the kid practices, and wrong answers come with a fix for that exact mistake.

Nobody will tell you what’s on it

Teachers won’t say what’s on the test. It’s given by an SSA teacher who doesn’t work with your kid until after they’ve passed, so there’s nobody who has seen both your child and the test. And the questions are secure, which I understand. A test you can study the answers to isn’t measuring much.

So you end up reading state documents written for educators, not for a parent cosplaying as a curriculum administrator after a long day. North Carolina’s Standard Course of Study lists what a student should know in each grade, and NCDPI publishes a blueprint for the end-of-grade test that says how much each area is worth: in 5th grade, fractions are 39 to 43 percent and geometry is 7 to 10. That blueprint only exists for grades 3 through 5, though. For 1st and 2nd grade you get the list of standards and nothing about weight.

Even the standards take work to read. Here’s NC.5.NF.1, word for word:

Add and subtract fractions, including mixed numbers, with unlike denominators using related fractions: halves, fourths and eighths; thirds, sixths, and twelfths; fifths, tenths, and hundredths.

Say what? The word doing all the work is “related.” A problem like 3/4 + 5/6 is in plenty of 5th grade workbooks, because Common Core’s version of this standard allows any unlike denominators. Fourths and sixths aren’t in the same family, so in North Carolina that problem isn’t 5th grade material, and nothing on the page tells you so. NC.5.NBT.7 does the same thing with decimals: a decimal divided by a whole number is in, and a decimal divided by a decimal isn’t.

None of it is written for a parent who just wants to know what to put in front of their kid tonight.

What the app does

You enter your kid’s grade and a test date, and get one page showing how close they are to 80% with a button that always says what to do next. Practice runs in three rounds, ending in a full practice test with no hints. Every wrong answer shows the worked solution, so the kid learns from the mistake instead of just seeing a red X. Missed questions come back days later. You hand the device over for a session and get a short summary when it comes back.

It’s free, there’s no account, and nothing leaves the browser. Progress lives on your device and you can export it.

Building it with Claude

I built it with Claude Code over about three weeks, 182 commits.

Since the real questions are secret, the app doesn’t pretend to have them. Every question is written from the public NC standards, and every wrong answer is the one a specific mistake produces, like adding the denominators. Pick it and the app knows which mistake it was.

What surprised me was where the AI went wrong. Instead of sloppy arithmetic, it kept writing Common Core math. North Carolina’s standards started from Common Core and then changed it in small ways, and the model kept drifting back to the version it had seen more of. Grade 5 expressions came out with brackets and braces, which NC dropped. Fraction problems added fourths and sixths, the exact pairing NF.1 leaves out. That’s the same mistake I made with my daughter the second time, when we studied real math for the wrong test.

What caught it was checking, not prompting, and checking is where most of the three weeks went. A wrong answer key in a practice app teaches a kid something false, and the parent sitting next to them has no way to catch it. So there are over 2,000 automated tests, about 24,000 lines of them, more than three times the size of the app code. Most of the rest of the project is question content. The tests fail if any wrong answer isn’t tied to a named mistake, and the live site only updates when the whole suite passes. A separate reviewer agent checked each piece of content before it went in, and a final audit went grade by grade, checking the questions against the NC standards and re-solving them independently.

If you are building anything on top of a standard that is a lightly edited copy of a more famous one, assume the model knows the famous one.

What I’m still watching

  1. The audits caught real mistakes, like 3/4 + 5/6 in the 5th grade fractions and a 3rd grade study guide claiming 50 holds a single ten. Those are fixed, along with everything else the audits found, and each fix has a test that fails if it ever comes back. I caught what I could. There may still be things only someone who gives the test would notice, and if you spot one, I want to hear about it.
  2. I don’t know how close it is to the real test. Nobody outside the district does. It’s built from the same public standards the test is supposed to be built from, and that’s as close as I can get.
  3. My son is the first real user, so the bugs that only show up with a 4th grader at the keyboard haven’t shown up yet.

It’s math, though. If he doesn’t pass, or the app gets a question wrong somewhere, he still spent the time learning the material, and that was the point all along.