Diagram illustrating the interconnected workflow of using various AI tools for software development.

AI Building


Around 2010, I was an excited software developer in a small company located in Perth Western Australia. We fully embraced ideas like being agile and pair programming. I began writing a lot of PHP at the time but transitioned to Ruby and the inevitable Ruby on Rails. It was during this time that I found all the Rails helpers. With a few terminal commands I could create new database models, new views, and new controllers. These helpers felt magic given how quickly you could produce code. Riding on another hype concept I even prototyped myself a chatbot that I could interfact with to start building the commands and writing the code. I coined it Discussion Driven Development.

Cut to 15 years later and I’m now interacting with large language model (LLM) based AI tools that are literally writing my code. We’ve come such a long way. I’ve been experimenting with Claude and Aider the most and found a lot of initial success creating command line tools and python scripts. I’ve since moved on to RooCode in VSCode and paired it with Google’s Gemini. My luck with building UI desktop apps has been mixed.

The most exciting part of this has been establishing a workflow that mirrors my day to day work. So far this has included:

  1. Developing a product idea with deep research. (Gemini)
  2. Building up mocks using AI site generators. (Readdy, OpenAI)
  3. Generating requirements. (Claude)
  4. Generating specifications. (Claude, Gemini, Aider, Roo-Code )
  5. Writing code. (Claude, Gemini, Aider, Roo-Code )
  6. Generating assets. (OpenAI)

My preferred stack (as of April 21, 2025)

This is very much a work in progress and I’ll possibly start putting together a more case study like writeup of what I’m using and why but here’s the overview…

Deep Research Model: Gemini 2.5 Pro

I didn’t do too much homework on this one. Generating deep research reports with Gemini 2+ has been so effective I never went looking for other systems.

Product Development Model: Claude Sonnet 3.7

I am starting to use Anthropic projects more and have found that I can use deep research reports to generate other artifacts, iteratively building up more.

Coding Daily Driver Model: Gemini 2.5 Pro

Gemini is proving very capable and very afordable. The large context window allows a lot of work to get done at a fraction of the cost. With Aider and Claude I had to strategically clear out and setup the context window with files but with Gemini I don’t think about it as much now.

Coding Complex Need Model: Claude Sonnet 3.7

If I see issues going in circles I go for Claude. It is expensive but it can unblock work. I will often use Claude and Roo-Code’s architect mode to step back and assess a situation before building a plan to move forward.

Coding env: Roo Code.

I really enjoyed Aider but I can now swap moddels mid-discussion and I like the task driven UI. I have found that the way RooCode retries failed API calls and works around diff mistakes feels more robust. I am not having to hand manage minor issues as much.

Assets: ChatGPT 4o.

Recent work on image generation with instruction following is really impressive. I have also used Leonardo.ai for more than a year but 4o’s strength at interpreting the language part before the image part is helpful for moving quickly to a good asset.

Desgin: ?

This is a relatively new topic for me. I’ve used Claude to build SVG sketches of app designs. I’ve used other tools to build visual representations. The most elaborate I’ve tried is Readdy (readdy.ai). This last one felt like the design equivalent of RooCode in that you can tell there are layers of hidden workflow building designs. It looks very promising although there’s yet another fee if you want to get designs to Figma.