rocketbro
Development

How I Build Software

rocketbro

rocketbro

a man in a field on a computer
a man in a field on a computer

I wanted to write a post about how I build things. So here it is.

I usually start first by brain dumping all of my ideas into some sort of speech-to-text engine. Currently I use an app called Lightpage - the dictation transcription is really good (I think it’s Whisper under the hood with some cleaning up/post processing). These brain dumps can range from 5-25 minutes and/or span multiple sessions, depending on how developed the idea is in my head and how long I’ve been musing about it. Sometimes I do this and don’t look at it again for months/years, and then find it again and decide to build it. Other times I have the idea and it all comes to me at once and I have this clear vision for how it should be.

Either way, I usually end up with something along these lines.

Once I have that, I go to Claude.ai. I pay for the $20/mo plan cause Opus alone is worth it, also their UI is my favorite thing. I dump the markdown file in and start asking Opus to help me figure out how to go from the idea to understanding what pieces are needed to pull it together. A few specific things I usually do:

  1. Turn on extended thinking
  2. Say something along the lines of “no rush, i’d rather go slow and think carefully. take your time.” The models are very optimized to crank out answers quickly (Opus already is pretty good at avoiding terrible answers due to speed, but still) so putting them in this mindset helps to get things right the first time
  3. I press Claude to find holes in my idea and bring up things I have forgotten to think about
  4. I almost always say no code examples. All the Claudes love to write code, and I do to, but not on claude.ai. The artifacts just get insanely long and Claude doesn’t have the context of an actual codebase in that environment so you end up re-writing tons of the code anyway. Waste of tokens imo
  5. When we start discussing specific libraries/frameworks, I always ask Claude to do a quick web search to make sure he’s using the latest documentation
  6. I frequently ask what the most idiomatic or canonical approach is for a given solution/framework/library/language etc. I want to make sure I’m getting advice that fits, not that is being forced to fit.

In these situations I am looking to come up with a detailed spec that ideally makes all of the big decisions, and most of the little ones, before a single line of code is written.

Note: I used to do this part of the process with ChatGPT on voice mode while walking or in the car. That works pretty well too. I enjoy working with Opus more tho, and I think it’s a superior model. Maybe I’m just better at steering Claude.

Here’s the spec Opus and I came up with for loominterface.org. I also abstracted this process into a skill that hopefully someone will find useful. There are two versions, depending on your experience level:


Download the skill for early or non-developers

Download the skill for more experienced developers

Now, with spec in hand, I go to Codex. Codex is my engineer team. I’m currently on the $20/mo plan from OpenAI and the limits are very generous, much moreso than Claude Code. The nice thing about having the spec is the prompt to get the project rolling is short:

what’s up bro can you read this file @spec-name.md we need to come up with a plan to build this. it’s an empty codebase so far. where should we start?

That prompt is, more or less, how most of my actual code work starts. I move methodically, but build plans deprecate quickly as you actually get into the weeds, so I hold them loosely.

@rocketbro is typing…

rocketbro

About rocketbro

Armchair philosopher about nerdy things like LLMs and code