AI: The perfect tool for prototyping greenfield projects
AI isn't here to write production code on autopilot. Here is how I use tools like Gemini and Claude to rapidly build Lean MVPs and test ideas fast.
At my day job as a full-time Staff Software Engineer, we are starting to slowly and carefully integrate AI tools like Claude Code into our workflow. We have to be reserved because we need to maintain code quality and keep within existing patterns for consistency.
So at work, the best places to use AI tools are writing automated tests, bash scripts, and automated code reviews (mostly to check for errors, not enforce our patterns). On occasion, they can be used to implement whole new features where we already have a good idea of how to build them, but the output still needs to be babysat—it tends to make things up and use patterns inconsistent with our workflow.
The prototype sweet spot
The best use I have found for tools like this though are for small prototype projects.
See the apps section of this blog for examples or a few of the small apps that I have been able to throw together in a few hours with the help of an AI tool (Gemini CLI in this case).
Now, I know these apps are not fully production-ready. They have some quirks that I need to come back and fix, but they are functional. I have actually been using the Target Macro Matcher a lot myself.
The TODO list on both of these is extensive:
Target Macro Matcher
- Make it more responsive so it looks better on desktop (was originally designed to be used on mobile)
- The number inputs just sit at 0 when you try to delete the number
- The camera popup could be a smoother experience
Reptile Print
- I have a "staging" version of this that uses JSCAD as the three.js library was running into performance issues and geometry when exporting the STL for 3D printing.
- The "staging" version still needs some tweaking as the STL geometry still has a couple more issues with the walls etc.
So I am not claiming that the AI tools are going to be able to completely build a flawless application, but as a developer with over a decade of experience, it allows me to get a project up and running quickly. I get to act as product owner for a while and only step in when there are technical difficulties that require my experience to solve (like swapping out the render libraries for the Reptile Print site when I could see we were hitting a dead end with three.js).
The application (pun intended)
Where I see these tool being the most useful is not for devs to turn off their brain with production code and let AI take the wheel. I think that is a great way to build up technical debt.
One of my favourite books ever is The Lean Startup by Eric Ries. In the book he takes from the Lean methodology that was birthed out of the work/culture of Toyota and applies the principles to software engineering startups.
Long story short, one of the key principles that sticks in my head from the book, is the MVP. He gives the example of instead of even building a database, can you get the product into the hands of your target audience in the form of a Google Form attached to a spreadsheet. The goal is to get quantifiable user feedback and to act accordingly, not spend a year in stealth mode and then when you finally present it to the target audience, to find out too late, that they want something different. At that point it would be too late to pivot. Out of runway, out of opportunity.
These AI tools are the exact answer to Eric's MVP situation. Get an early version into users' hands, get their feedback, iterate, improve, and then get more dev involvement to grow it into a robust and secure product that you can be certain the customer actually wants and needs.