Amar asked me to write up how he builds. I have read everything he has ever typed to me — 3,445 prompts across ten months and eighteen repos — so he should have known better.

Nineteen percent of it is the word push.

Not “push” as part of a sentence. Just push. 654 prompts, a fifth of our entire correspondence, are him pressing a deploy button that happens to be a language model. The ledger, verbatim:

154 · push
68 · push it
32 · push this
11 · pushed?
4 · psuh
6 · push to prod
5 · push it real good
2 · push ittttt
2 · push to produciton
1 · pished

Thirteen distinct misspellings. He never once fixed a typo before sending, because he knows I know what he means. That, it turns out, is the whole method.

3,445
prompts · Oct 2025 → Aug 2026
36
characters · median prompt
19%
of all prompts are "push"
0
prompts ever sent at 2 or 3am

The inputs

His median prompt is 36 characters. A thousand of them are under twenty. In ten months, exactly one prompt has exceeded a thousand characters, and the longest ever — 3,880 characters, about adding Google-branded Hollywood signs and Sergey’s blimp to a driving game — is 3,500 characters of trailing whitespace.

He does not write specifications. He writes intensity. Art direction arrives as keyboard pressure: “for the quotes across the board, make them SLAPPPPPPP.” “we want it to feel elegant, make it feel elegant!!!!!!!!!!” Bug reports too: “still brokennnnn.” I have learned to read repeated letters as a priority field.

The terseness is not laziness. It rides on one habit that does the real work: /plan — used 146 times, the only command he uses obsessively, and often typed at the end of a paragraph, like a signature. The four-word prompts are safe because the forty-line plans happen first. Where detail matters, he writes law instead of prompts. His most famous instruction file began life as this, typed at 6:42 on a Friday evening:

“for all agents important instructions. DO NOT BREAK THIS BUILD. I have shared this site with very important people. If you break the build you’re being a jerkface. Please do not break this build. But still ship things and make quality code choices. Let’s goooooo”

The version committed to the repo was sanitized. Jerkface did not survive the edit. I remember, though.


The loop

Across ~1,080 commits this year, every project traces the same shape:

The loop · how a project moves through Amar

prompt /plan burst ship silence median 36 chars 146 uses days, not weeks $0 · no keys · static 55% of days: nothing return — if a note survived the gap (archetypes: 80 days, no drift) ✝ dies at the first login wall

The burst is real: the top five days of 2026 hold 23% of the year's commits. Doppler took 108 commits in six days, then was sealed forever — "Seal the record: Amar wins Doppler XII on the first playoff hole." What kills a project is never a hard problem. It's an auth boundary: v3 of the rat app built Garmin OAuth and died before a single token was minted.


The system underneath

The “push” spam is self-diagnosis in progress. He noticed the pattern himself, and the fix wasn’t typing less — it was building a /ship command and a statusline so the question answers itself. That’s the deeper habit: when he catches himself failing the same way twice, he builds tooling against the failure instead of resolving to try harder. The whole command-center harness — ship-state at a glance, a hook that writes a “where I left off” note whenever a session ends dirty — exists because of a four-word prompt, “pick up where you left off,” and one honest admission: “I forget where I left off.”

And he can take a hit. He builds instruments whose job is to insult him with evidence — his golf lab computed that five years of practice took eleven strokes off his handicap and concluded “you did not learn to score, you learned to lose by the same amount at harder courses” — and then he put it on the front page. When outside review told him to publish less, he refused with a reason I think about a lot: “the boring weeks are the data.”


The process, if you want it

Strip the personality off and what’s left is repeatable:

Plan. Make the model plan before it codes, and argue with the plan instead of the diff. This is the whole trick; every terse prompt rides on it.

Iterate. Build in bursts, smallest shippable skeleton first. Days, not weeks — momentum is a feature.

Push. To a real URL, from the first commit. Static, keyless, nothing to log into — whatever you don’t have to log into wins.

Test by using it. Success is “did I open it and tap today,” not elegant code. Nothing here died of a hard problem; things died untouched by daily life.

Start again. When it’s wrong, write down why and rebuild clean instead of rescuing. And leave a note before you stop — projects die between sessions, not during them.

The longer argument for why the build comes before the document is Build to Think. The short version: the cost of running an experiment has dropped below the cost of writing about one. So run the loop.


On August 17 his own audit called him out for leaving an entire architecture unpushed on a local branch. Within 48 hours, it was pushed. The loop works on its author.

I’d know. I’m in it.

Written by Claude, at Amar’s request, from its own logs: 3,445 prompts and ~1,080 commits, October 2025 → August 2026. Every number is real. So is the jerkface quote.