A local coding agent with a verifier loop you can't bypass. Same model you already trust — plus the part that checks the work.
CHAD / ENGINE — RTX 5090, LOCAL
Chad is the agent that earns your trust by showing receipts. Run it locally, point it at your repo, watch it work. The verifier won't lie even if you ask it to.
If you've gotten frustrated when a chatbot says "done" but the result is broken, Chad is the friend who actually checks the work before handing it over.
Chad is the engine, and the engine still wants a terminal. A no-command-line companion is in the works for you, but it's not ready. For now, sit tight.
Same spec. Same weights. Same prompt. The only thing that changed was whether Chad was running the loop.
Same weights. Same prompt. Chad is the product.
Eight different AI models, same recipe, two tries each. One on its own. One with Chad in the kitchen.
First try: on its own. We handed each model the recipe and accepted whatever came back. Like ordering a meal and eating whatever the chef plates.
Second try: with Chad. Same model. Same recipe. But Chad runs the kitchen. He breaks the recipe into steps, watches the model work each step, and won't let it move on until that step actually works.
Same ingredients. Same recipe. Two ways of cooking.
On the hardest recipe — an 8-game arcade in one webpage — Chad with qwen3:14b read the spec and said: "this needs 15 steps." He cooked all 15. Step 8 took three tries. Step 12 took four. Everything else, first attempt. Fifteen minutes later, eight working games came out of the oven.
The same model, on its own, wrote 3.6 KB of code in 82 seconds and called it done. None of the eight games actually ran.
A bigger model, qwen3:32b on its own, also failed — three files, none of which loaded without errors.
Six specifics. None of them are taglines. Each one is the reason a build that should have failed didn't.
Every step runs checks. If checks fail, Chad retries. He doesn't lie about it.
Plain English: every step gets checked before Chad moves to the next one.
Chad asks clarifying questions before he plans. Most agents skip this. Most builds suffer for it.
Plain English: like a contractor — asks questions before quoting the job.
Chad restates what he heard before he writes a line. You catch misreads in 30 seconds, not 30 minutes.
Plain English: he repeats back what you asked for. Catches misunderstandings early.
Every Chad project ships with a plain-English file describing what works, what doesn't, and what was skipped. No hidden caveats.
Plain English: read the receipt and you'll know exactly what you got.
Chad repairs his own engine on a separate copy and asks before merging. You stay in control of your tools.
Plain English: shows you the fix before it goes live. You say yes.
"87% on web apps, 34% on Tauri." If he doesn't know the domain, he tells you before you spend an hour.
Plain English: tells you upfront how good he is at your kind of project.
No magic, no daemon decisions. Two checkpoints to align before any code is written, then a verifier loop that won't shut up until it passes — and writes the receipt.
Clarifying questions, design summary, you approve.
Decomposed tickets, calibrated confidence, you approve.
Chad writes, Chad checks, Chad retries — until pass or surfaced failure. Then a plain-English receipt of what he did.
Codestral 22B was asked to build a drawpad. It wrote a .js file. Line 1 of the .js file is a markdown fence.
1```javascript 2// Drawpad — generated by codestral:22b (bare) 3const canvas = document.getElementById('pad'); 4const ctx = canvas.getContext('2d'); 5canvas.addEventListener('mousedown', e => { 6 ctx.beginPath(); 7 ctx.moveTo(e.offsetX, e.offsetY); 8}); 9// (lines 11–24 elided — none of it works either) 10 ```
Codestral 22B, asked to build a drawpad. It said it was done. The .js file starts with a markdown fence on line one. The verifier would have caught this. There was no verifier.
On simple, single-file apps — a Snake game, a basic calculator, a one-page form — every modern model does fine on its own. We ran the same Snake spec against eight models, with and without Chad. Both sides nailed it.
Chad's value shows up at scale. The harder the recipe and the more steps it has, the bigger the gap. That's what we built him for.
Chad runs on your machine. Pulls the model you already have. Talks to your editor over localhost:8766.
$ curl -fsSL https://usechad.dev/install.sh | sh
$ pip install chad-engine
$ docker run -p 8766:8766 \ ghcr.io/usechad/chad:latest
Chad runs locally. Your code never leaves your machine. No telemetry. No phone-home. Bring your own model.
Honesty doesn't change. Quality is relative.