Education, 2026. Architect and sole engineer. Built, not launched.
Frost Driving School
I built a driving-lesson platform for parents teaching their teens, with a review version ready four days after the deposit.

Scroll inside the screen to read the whole site.
What happened.
4 days
from deposit to the client seeing it, against a three-to-four-week estimate
Frost Driving School
18
automatic checks on the state rules, delivered with the site
Frost Driving School, main branch, 24 July 2026
- Three kinds of sign-in, family, office, and reviewer, with permissions enforced where the data is read rather than in what the screen shows
- A twelve-item checklist of what done meant, verified by a separate review of the whole build before delivery
- Fifteen lesson videos, just under ten minutes in total, prepared for the web with poster frames
Where it started
A family-run driving school in Texas sells a parent-taught program, where a parent teaches their own teen to drive. The in-car part, a fourteen-hour lab, is regulated by the state. Modules in a fixed order, videos that have to be watched, a daily cap on hours, a minimum number of days before the certificate, and a numbered state form at the end.
The owner had bought a competitor's online lab to see what he was up against. It was PDFs. The certificate arrived eight days after purchase with no evidence that anyone had done anything. He wanted his to enforce the rules and to show that it had. For a family, that means the site always tells them where they are and what's next: finish today's module, and the next one opens tomorrow. For the owner, it means a record he can hand to an inspector.
What made it hard
- Compliance is the product. A rule enforced wrongly has license consequences for the owner, so where the regulation was ambiguous the build asks instead of guessing.
- The daily cap is defined in Texas time and had to hold for two parents on two devices, wherever they happened to be.
- Certificate numbers come from a limited batch issued by the state. Two families finishing at the same moment must never get the same number, and running out has to stop cleanly rather than reuse one.
- Quoted at three to four weeks against a fifty percent deposit. The review build went out in four days.
- The lesson videos and the decision about the state seal were the client's to make, so both had to be easy to swap in later.
What I built
Waiting isn't the same as locked
When a family reaches the daily cap, the next module shows as opening tomorrow, not as denied. Same rule underneath, different sentence, and nothing added to the record for a family that's simply done for the day. The regulator's rule and the parent's experience don't have to feel the same.
A record the owner can hand over
The log records who confirmed a module, when, and from which address. Attempts that were refused are logged too. Clicking around isn't. Only a confirmation attempt writes an entry, so the log records decisions rather than clicks and stays readable by a human inspector. It's written by one piece of code and never edited.
Watching counts only in real time
Skipping to the end of a video earns nothing, because the server credits at most the seconds that have actually passed. A video is marked complete at ninety-five percent, exactly once. It's a small rule with a large consequence, since the videos are how the state knows the hours happened.
Every rule is checked in one place, on the server
Confirming a module and issuing a certificate both happen inside a single database transaction that locks that family's record while it runs. Certificate numbers are claimed the same way, so two families can't get the same number and one family can't get two. Ordering, video completion, the daily cap, and the seven-day minimum are all checked there, with no copy in the browser to drift out of step. One automatic check starts two confirmations at once and proves that exactly one succeeds.
Room for what wasn't mine to decide
The certificate renders onto the official template if one is present and onto a clearly labeled preview if not. Email goes through a real mail service or into a holding table. The videos are placeholders until the client's are in. None of those decisions held up the review build, and none of them can be forgotten, because the labeled preview says so on its face.
What isn't measured
- Not launched, and not yet submitted to the state regulator. Nothing here has been reviewed by anyone with the authority to say it complies.
- No student has used it. Zero real completions, zero certificates issued outside a demo account.
- No analytics, and no client feedback on the platform itself yet, only on the delivery.
- The move to the school's own domain, the real email service, and the video hosting are all waiting on decisions that aren't mine.
Built with
See for yourself
The review build is on a private address at the client's request and isn't linked here. The school's public site is theirs; my only change to it was the email sign-up.
Notes
Five of the eighteen automatic checks, by name, from the test file:
exactly one of two concurrent confirmations succeeds
rejects a second confirmation on the same calendar day and audits it
allows the next confirmation on the next Chicago day
concurrent issuances for different families never share a control number
fails cleanly when the number batch is exhausted
Each one names the rule it protects, and each one runs against a real database rather than a stand-in. That’s slower, and it’s the point. A stand-in would pass while the real lock was missing.

Tell me what you're working on.
Send me a little about your project or the role you're hiring for. I'll tell you whether it sounds like a fit.