A follow-up to “From Sociology to Software Engineering” (2024) and “Hope in Learning To Code” (2025)
Eighteen months ago I published a Hangman game and called it hope. The game was nothing more than a couple hundred lines of JavaScript, an ASCII stick figure, and one text box.
I said then that it wasn’t about competing with the billion-line apps. It was about finding out I could still learn something at the age of forty, after a seven-year relapse, which included being homeless at the beginning of COVID and panhandling to support my habit and pay the hotel for the night. You can read about that here.
This week I rebuilt it.
I did not type most of the code. But before I show you what I made, I want to tell you what a stranger told me they thought about “my build.”
“I built”
A while back I shared a companion site I put together for a resource from MakerZero, Nick Saraev’s free Skool community. Somebody on LinkedIn did not like that I used the phrase “I built.” They let me know by commenting just those words.
“I built.”
Quotation marks and all. That was the entire comment. Their profile said junior software developer. I was a little confused, or maybe amused. 🤔
They had not clicked the repo (repository) — the public folder where a project’s code and its whole history live. I had linked it right there in the post: every commit I pushed while working with Claude Code on my own machine, each one a dated record of what changed and why. I did not type the code by hand and I am not going to pretend I did. But a thing that did not exist now exists, it is genuinely useful to me, and there is a timestamped record of it being made one decision at a time. That sounds a lot like building to me.
I put that repo up so anyone who wanted the dashboard could run it on their own machine. I keep it up now for a different reason. See it here.
What a prompt does not do
The story people tell about this is that you type a sentence and the thing appears.

What actually happened was a long chain of instructions and questions. The machine writes the code in pieces, as drafts. Each piece it writes is a response to something I asked for. But wait, there’s more.
In addition to directions given and suggestions read (most of which get rejected), sometimes the machine even pushes back. It actually pushes back often, but that is wholly intentional — out of the box, Claude does not do that. The pushing back is critical, because that is how what was broken gets caught and said out loud, whether I am the one catching it or Claude is. Every line of code is reviewed multiple times, be it by me or the swarm of AIs working for me. 🙂
The receipts
So here is the part the commenter did not look at.
1Turn Nick’s roadmap into a site that helps you fill in the blanksJul 31, 11:13 AM
spin up a web ui that turns this exact roadmap into an interactive and dynamic webpage or website whose sole purpose is to help a user fil out all of the blanks. The first plan failed — the tool that was supposed to read Nick’s board could not open it, so the machine drove my browser and extracted it that way instead. By the end: a working app, 21 steps, 74 blanks to fill, every resource embedded. Two commits, 36 files.
2Host it free, so anyone can clone itJul 31, 11:58 AM
i want to hosted for free on github pages so that anybody can use it if they want to go to the github repo, clone it, and make their own version. Shipping waited on a round of questions about how to credit Nick and what a fork should inherit. My answers are the next entry — and entries 6 and 9 below. A third of this chain is me making sure the site supplements Nick’s roadmap instead of replacing it. Then it went live, free, with share links.
3Name it after Nick. Check the spelling.Jul 31, 12:33 PM
it should be even more explicit that this is Nick Saraev’s Roadmap. You can actually eliminate ‘maker zero’ Call it Nick Saraevs. check spelling.And on my own data:
Publish my real progress, but not the details. Result: the repo renamed, spelling verified against Nick’s own board; anyone who forks it starts with an empty roadmap; my public copy shows tool choices and headline figures, no notes at all.
4Optimize the metadata — pasted into the wrong windowJul 31, 12:50 PM
before I share this, optimize seo and geo metadata for https://daguilar0123.github.io/nick-saraev-roadmap/— which I accidentally pasted into a different Claude session working on a different project. It did the work anyway, pushed it, and left a formal note in the repo explaining what it had done and how to undo it. The record keeps the mistake.
5Generate the share images; and deal with that noteJul 31, 12:57 PM
use higgsfield mcp to generate three images for the social share cards and featured image that would be optimal for this website— plus reviewing the wrong-window edit. Three text-free images built from the site’s own colors; and one thing came out of the metadata on review: my home town.
6Label what is Nick’s and what is notJul 31, 1:17 PM
i want to faithful to Nick’s actual roadmap. however, if nicks roadmap was missing these questions then just label what came from outside of Nicks actual roadmap. Result: a provenance badge on every section — “from Nick’s board” against “added here” — and a credit legend splitting his 21 titles, ninety-odd checklist items, and 50 links from this edition’s 74 fill-in fields.
7Add a “work this out with Claude” buttonJul 31, 1:17 PM
a “ask claude” or “work this out with claude” feature would be awesome. how can we implement that?From the machine’s options I picked the no-server design: every step composes a ready-made, editable prompt to copy or open — no account, no key, nothing to pay for, works for every fork. And MakerZero thanked warmly in the footer, non-affiliation stated.
8What is that shell? Kill it.Jul 31, 1:33 PM
9Prove none of Nick’s links were droppedJul 31, 1:49 PM
I do not want to step on nicks toes by replicating a resource he already shared. show me a list of the links he shares in the roadmap and tell me how you incorporated them.Result: a full audit against Nick’s live board — 50 raw links, 29 real destinations once the preview-artwork duplicates were set aside, 28 present in the app. One was missing. It was restored, in its own commit.
10The phone fixes — wording lost, marked as suchJul 31, ~2:05 PM
11Where is the link to share with the group?Jul 31, 5:12 PM
where is the link to the public repo to share with the group?Both links came back, with advice to lead with the live tool. This is the share the commenter saw.
12Write the session handoff — interruptedJul 31, 7:05 PM
The game’s chain
The game at the bottom of this post is the same chain, only longer. It was built in one long conversation in a browser tab that kept no log, so the exact wording of these asks is not preserved. The asks themselves are — in my own writing, in the notes the build agent left, and in what shipped.
1Take the gallows outbuild week
2The words came out sounding like mebuild week
3Build a way back from a lost barbuild week
4Make it a finished game, not a demobuild week
5The dove looked like a bananabuild week
6The cage bars were invisiblebuild week
7The escape flight brokebuild week
8WordPress killed the game on its way to the public pagebuild week
9Do not touch the 2025 postJul 26
10Ship itJul 26
11The record overclaimed — caught while writing this postAug 16
None of those decisions came from a prompt. They came from me, and then I spent a week arguing with a machine until the thing on the screen matched them. Expand any of them and you will see what I was trying to do and what I got wrong on the way.
The bug that proves it
One entry in the game’s chain deserves its own telling. Near the end of the build, the game worked perfectly in the WordPress editor and came out dead on the public page — no error, no warning, nothing. The cause, eventually: WordPress was silently rewriting a single character in the code, the ampersand, on its way out the door. Entry 8 of the game’s chain above has the full story. What that bug taught me is the best thing I took from this whole build, and it is not really about code.
That bug took an hour to find. An hour of reading output, forming a guess, testing it, being wrong, and going again. No prompt does that. There is no sentence you can type that produces “the thing you cannot see is happening between the database and the browser.” Somebody has to suspect it.
If this is not building, then what is it?
The part I am actually worried about
The pushback on AI is not wrong. There are serious critiques and I hold some of them myself. I have written before that access to AI sorts the way everything else sorts, that the frontier models — the newest and most capable ones, the ones behind a subscription — cost money and the good ones cost more, and that the people whose jobs go first will be the last ones consulted about any of it. I still think that.
Sorts is the plain word for it: access follows money, the same way housing and good schools already do. I worked on the staff of a nonprofit helping people enroll in health coverage they qualified for and still could not reach, so that pattern is not a theory to me.
What worries me is the overcorrection. When the pendulum swings too far, the people who lose are the ones who had the most to gain.
I think about education inside prisons and in GED programs, and I do not think about it abstractly. RAND’s meta-analysis found that people who took part in correctional education had 43 percent lower odds of returning to prison. Now think about what an AI tutor actually is for that population. It never gets tired. It never gets impatient. It never makes you feel stupid for asking the same question four times. That is exactly what an adult who has been out of school for fifteen years needs, and it is the one thing the system has never been able to afford to give them.
I do not want the stigma of building with AI to set. If it sets, maybe those AI-assisted tutoring programs never get built. Not because anybody decided against them. Because nobody wanted to be the person who proposed them.
Who gets to say it
When somebody puts “I built” in quotation marks, it is a small thing. A stranger being a little snide on the internet costs me nothing.
But it is the same instinct underneath, deciding in advance who is allowed to say they created something. I have been on the wrong end of that instinct in rooms with much higher stakes than a comment section. The people who get told their work does not count are reliably the same people, and it is reliably decided before anyone looks at the work.
So look at the work. The commits are right there. Then tell comment below if it is building or not.
In Power, Solidarity, and Militant Joy,
Comrade Danny 😉
Free the Dove
Hangman, reimagined. There is no gallows here — you are picking a lock.
word pool expanded live by the Datamuse + Free Dictionary APIs · built by Danny