Inspiration

I'm not a career software developer. I co-owned an auto repair and rental business. I spent years at the intake counter, and I know exactly where a workshop bleeds money: the moment a customer's sentence has to become a catalog decision. Customers don't speak in VINs — they say "front brakes, the grey diesel wagon, the 2017 one," in whatever language they think in. Get the translation to an exact variant wrong and the chain is always the same: wrong part ordered, returned delivery, a second appointment, a blocked bay, and no way to reconstruct which assumption caused it.

The business eventually went under. I'm still paying off the debts and I've been driving a taxi to fund what I build now. What the failure left me with is a precise map of that intake problem, learned the expensive way. This project is that map, turned into a working pattern.

What it does

Free text goes in — in any language. GPT-5.6 proposes a structured prefill. Deterministic code builds a reviewable union of catalog options with source-level provenance. Nothing becomes a parts decision until a person explicitly confirms the exact variant; only then is the repair path with parts and per-item provenance revealed. Two repair jobs run end to end on fully synthetic data, and the whole workflow also works with no API key at all — GPT-5.6 is an optional, strictly bounded upgrade to the first step.

How we built it

Codex was the builder throughout: the clean-room boundary, the zero-dependency Node server, the confirmation gate, the browser UI, 31 offline tests, and two publication scanners that fail the build on anything infrastructure-shaped or identifier-shaped — wired into CI. GPT-5.6 does one job through the Responses API with strict Structured Outputs, store: false, and a hashed anonymous safety identifier: normalize messy, multilingual intake into canonical, editable fields. Every change went through the same gate — scanners, tests, then merge.

Challenges we ran into

The hardest decisions were about what the model must not do. It never sees the catalog sources, never picks an option, never confirms a vehicle — drawing that line without making the AI useless took the most iterations. Proving the model's value honestly was its own challenge: the demo had to show the same Czech sentence defeating the deterministic parser and coming back from GPT-5.6 as a complete prefill, live, not mocked. And building clean-room meant every vehicle, part, and source had to be invented — with scanners enforcing that no real-world identifier could ever slip into the public repo.

Accomplishments that we're proud of

A judge can clone this and be running it in under a minute: npm install, npm run check — 31/31 tests and both scanners green — then npm start with zero runtime dependencies and no key required. The trust boundary is shipped as code, not described in a slide: prefill is not fitment, confirmation is explicit, provenance survives to the last part row. And the multilingual contrast moment in the demo is real — a live GPT-5.6 response on camera.

What we learned

That a trust boundary is a feature you can ship. That Codex works best when you give it hard gates — tests and scanners instead of vibes. And that one week is enough to turn years of expensive domain scar tissue into a pattern other builders can inspect, run, and reuse — it's MIT-licensed for exactly that reason.

What's next for Repair Intelligence Reference

The reference stays public and synthetic: more repair jobs, more catalog-shape edge cases, and a small adapter guide for teams who want to put the same human-confirmation gate in front of their own catalogs. In parallel, I'm building a full commercial estimator on this exact boundary for real workshops — multilingual intake, real catalogs, real market pricing — because the counter I used to stand behind still has this problem every single day.

Built With

Share this project:

Updates