← writing
3 min read

Drive Smart Academy: AI driver's ed that won't bluff the law

Drive Smart Academy is AI driver's ed for Ohio teens, grounded in the actual Motor Vehicle Laws, with a parent dashboard. Here's why I built it.

  • #building-in-public
  • #side-projects
  • #ai
  • #driver-ed
  • #ohio

There's a teenager in my house inching toward a learner's permit, and the state of teen driver's ed is grim. The official study material is a dense government PDF — the Ohio Digest of Motor Vehicle Laws — written like a tax form. Kids cram it, pass the knowledge test, and forget all of it by the next exit. Meanwhile the parent's job is to supervise 50 hours of driving, 10 of them at night, logged on... what, a sticky note? A glovebox napkin? Nobody actually knows if the kid is ready. They just turn 16 and we hope for the best.

That's the gap Drive Smart Academy fills. It's AI-assisted driver's ed for Ohio teens, with a parent dashboard, in early access right now.

What it actually does

It's not a chatbot that "teaches you to drive." It's practice grounded in the real source. The whole question bank is built from the Ohio Digest of Motor Vehicle Laws, with explanations that cite the actual law, realistic scenarios drawn as hand-made SVG diagrams instead of cheesy stock photos, and an exam simulator that mirrors the real thing: 25 questions, Ohio's 75% pass line, per-topic results. There's a readiness score, a spaced-repetition queue for the stuff you keep missing, and a study streak, because teenagers respond to streaks.

The parent side is the part I'm proudest of. A printable progress report (readiness, per-topic mastery, consistency) plus a supervised-driving log that counts toward Ohio's 50-hour / 10-night requirement. So the answer to "is she ready?" stops being a vibe and starts being a number you can look at.

The wall: AI should not write traffic law

Here's the design call that shaped everything. The obvious move with an "AI" study app is to let a model generate the questions. I tried it. It writes beautiful, confident, plausible questions, some of which are subtly and dangerously wrong about Ohio law. Confidently wrong is the worst failure mode you can ship into a driver's exam. A kid memorizes your mistake and then carries it onto a real road.

So I flipped the AI's job. It doesn't author the law. It grades confidence in each question against the source material. Every question carries a record in a question_confidence table, and low-confidence ones get flagged for a human (me) to vet against the Digest before they go anywhere near a learner. A content-integrity check runs in CI, so a regression in the safety-critical question bank literally can't merge. The model is a skeptical reviewer, not an author. That inversion is the whole product, honestly.

The dumb wall, and there's always a dumb one, was Cloudflare D1 handing JSON columns back as strings instead of parsed objects. Everything worked locally with tidy test data, then quietly returned garbage in production. Half a day gone chasing it. Now every JSON column gets parsed at the service layer. Field note: if your database's "JSON" type is really TEXT in a trenchcoat, find that out before prod does.

What surprised me

I went in thinking the AI would be the star. It isn't. The valuable, boring work was refusing to let it be creative in the one place where creativity is a liability. The best thing AI did on this whole project was tell me which of my own questions to distrust.

The other surprise: parents care about the log way more than the quiz. The quiz is for the kid. The dashboard is the thing that lets a parent actually sleep before handing over the keys. I under-built it at first and treated it as a feature instead of the point. Fixing that now.

It's early access, Ohio only, and the content bar is high on purpose. This is exam material, not trivia. If you've got a teen staring down the BMV test, kick the tires at drivesmart.academy. And if you find a question that's wrong, you'll genuinely make my week. Come tell me on X.

Now copy Josh.