This method focuses on using AI to build software that was previously impractical to develop solo, emphasizing quality and depth over speed. If you are still in the phase of trying to "make a thing in a few hours," this approach may seem unnecessary; it is intended for those looking for a professional, durable architecture.
Good software solves a specific problem. A common starting point is identifying an existing application you enjoy but finding specific elements you dislike or features you believe are missing.
Use an AI interface optimized for discussion rather than code execution (such as the web version of Claude). This stage involves talking through the problem and identifying everything required for the build:
- Interaction Design: How the user will move through the app.
- Data Architecture: How data moves and where it is stored.
- Tech Stack: Selecting languages, frameworks, and libraries.
- Blind Spots: Explicitly asking the AI, "What am I overlooking?"
The use of a web interface creates "useful friction," preventing the temptation to let an agent start coding too early. This phase produces document artifacts, diagrams, and code samples, often taking weeks to refine.
Once the documentation is distilled, move the artifacts into a repository. Use a TUI (Text User Interface) or CLI agent within a devcontainer to transform these documents into a backlog of well-defined tasks.
This version is v0, a Proof of Concept (POC) designed to prove or disprove specific functional concepts. It is an agile iteration intended to explore the app's viability until you either confirm the approach or decide to pivot.
Freeze or archive v0 once the concepts are proven. This version is a sketch; it should never be deployed or treated as a production product. Review the v0 build with your AI agents to decide:
- What lessons should be documented?
- Which patterns or libraries worked well?
- How should the next version incorporate security (e.g., OWASP standards) from the start?
Software often fools developers into thinking a sketch is the final product because both are made of code. To counter this, impose artificial constraints to remind yourself that v0 is "already dead":
- Give the repository a name that indicates it is temporary.
- Apply a CSS filter to v0 web apps to remove all color.
- Treat it as a scale model, not the actual building.
Start a fresh repository. The backlog for this version is built from the lessons of v0 but includes significantly more detail:
- Integrated code samples.
- Security best practices.
- Mandatory unit tests.
- Standardized code review commands.
If this version still doesn't meet the bar, pivot to another v0. Repeat this cycle until the result is truly high quality.
Original Thread: https://www.threads.com/@jwynia/post/DVv4JEHDS6F?xmt=AQF0zl3o0Kklu-cba_DbShtJg5PhjqsVW8G9culVt_Ercg