Episode 49 - How I Write Apps
This is a story about how I build apps. It's about a process I've been refining that enables quality and speed. I want to walk you through exactly what I did because it's repeatable, and I think more people can and should be building prototypes before meetings instead of just talking about ideas.
Prologue
Wednesday morning, I had a call scheduled with a client. They wanted to talk about adding a chatbot to their website. I don't often recommend this to people, but they were looking for a tool to help users find data they didn't know how to search for. This is something AI is actually very good at—helping users navigate complexity while leaving them firmly in the driver's seat.
The call was at 2pm. At 11am, I decided I should probably build a prototype first.
Three hours later, I had a working demo. True, it wasn't ready for production, I didn't have guardrails on the AI tool, and it needed a lot of polish. But it worked. It was enough to spark a real, deep conversation about what they actually wanted.
This is a story about how I did that. It's about a process I've been refining that enables this kind of speed. I want to walk you through exactly what I did because it's repeatable, and I think more people can and should be building prototypes before meetings instead of just talking about ideas.
Prototypologue
Phase 1 - Think it Through (~30 minutes)
Before I touched any code, I grabbed a piece of paper (okay, no, I actually started talking out loud and transcribing my notes). I talked about what I thought the app needed to do, not features, but stories about users. How should a user interact? What actions would they want to take? What are they trying to accomplish? What data do they need to find?
Then I opened Claude (the chat interface, not Claude Code yet) and started with a phrase I use frequently:
I want to discuss an architecture for an application…
Then I described what I had in mind, distilling my original notes (and sometimes just dumping all of them straight in).
I ended with:
Think deeply about this and ask me questions to help clarify things.
This is really important. I'm not asking Claude to build; I'm asking it to poke holes in my idea, to help me think more critically by asking questions. What assumptions have I made? What might bite me later? AI is very good at helping humans to think critically!
We went back and forth for about 15 minutes. It brought up things like authentication (don't need that for the prototype), data formats (ArcGIS JSON API, JSON flat files, no database). It asked about filtering results and map interaction, and a dozen other things that helped me refine the concept and plan.
By the end, I had a much clearer picture of what I was actually building. I asked Claude to write up a design document—something I could hand to Claude Code later. I then iterated on that doc a bit, adding notes on libraries, usage patterns, and issues I've had before.
I don't assume the AI knows everything. I bring my own experience to the table. This is where my experience building applications meets Claude's ability to write code fast.
Phase 2 - Engage (~30-45 mins)
I created a new folder (or a git repository), dropped in the design file, and started up Claude Code.
I start by running: /init
Then I say something like:
You're going to build this app, but before you start, read the design document and ask me questions.
What follows are usually really good questions, things I didn't think of yet, or places where the design doc was vague. Once we're aligned, I say:
Make a plan to build this app.

Claude Code will enter plan mode, ask a few more questions, and break the work down into steps it can follow.
Then—and yes, I literally do this—I stand up from my chair, make the arm motion, and say out loud:
Engage.
Like Captain Picard on the bridge of the Enterprise.
My friends think I'm ridiculous. They're not wrong. But sometimes that moment of intentionality matters to me. I'm handing over control, trusting the process.
Then I type "Engage" into the prompt and press enter.
I go on to do something else for a few minutes, just keeping an eye on it and waiting for it to finish.
When it's done, I run git commit to save the changes.
The app is usually in a semi-working state (or better) by now. It has rough edges, but it's something I can start testing.
Phase 3 - Test and Iterate (60-90 mins)
Phase 2 has a lot of AI. Here, the human comes back.
I start clicking buttons, trying to use the app and break it. I type nonsense into the search box. I resize the window to see if the CSS falls apart (it usually does, at least a little—even AI can't get CSS right the first time).
I collect the issues. Nothing fancy, just notes. Then I feed them back into Claude Code one at a time. Small, specific issues. One fix, one commit. That keeps the context tight and makes it easy to test and undo if things go sideways.
At some point, usually faster than I expect, the prototype is good enough to share. It isn't done, not perfect yet, but good enough to put in front of someone and say, "Is this what you meant?"
That's what I did on Wednesday. I had the app running and, during the meeting, was able to live-test and share the answers as the client brainstormed potential questions or queries with me. It was much more successful than just imagining something theoretical.
Newsologue
- Anthropic releases an update to Claude’s Constitution - This is a document that guides how Claude should behave. It is actually a pretty fascinating read, and makes me feel even better about using Claude the AI (and the company).
- OpenAI adds advertising to their free and cheapest plans - All I can say is uuuugggggghhhhhh… I hate ads on the internet.
- Claude Code is having a moment - Yup. I like it a lot, and I can build a lot, very quickly, with it. But if you got this far, hopefully you know that. Oh, also, Claude Code wrote Claude Cowork (in like a week or two) which is pretty epic.
Epilogue
I wrote a messy draft of this, then talked through it with Claude, then rewrote it, then talked to Claude some more, then Holly edited it.
The client loved the prototype, by the way. We're moving forward with a real build. Which means I'll probably use this exact process again next week, and the week after that.
Each prototype teaches me something about what works. And each time I say "Engage" out loud in my home office, I feel a little more ridiculous and a little more like a starship captain.
Totally worth it.