Introduction

I have been using ChatGPT to develop two applications that I am currently working on—one for storing memories and another for optimising weekly meals for a busy family. They haven't been launched yet, but I can already see promising progress.

Sparring with AI for product development

The basic idea is quite simple: I feed ChatGPT with product requirements, some functional requirements, and the purpose of each app, and then I let it ask me all the questions a skilled product manager would ask. When I ask ChatGPT to "act as a product manager," I get a series of follow-up questions—about everything from user flows and technical constraints to long-term roadmaps.

Here’s an example of a prompt framework I use to make the language model act as a product manager:

Help me create a web application for capturing and managing to-dos.

The purpose of the application is to make sure I manage my to-dos, and that I can access them from anywhere. Intended audience is anyone who’d like to get on top of their to-dos!

Functional requirements:
* As a user I need the ability to visit the main page and read about the application's purpose etc.
* As a user I need the ability to register a user with email and password
* As a user I need the ability to login with email and password
* As a user I need the ability to create a new tasks
* As a user I need the ability to edit and delete an existing task

External interfaces:
* Firebase

Application stack:
* Frontend: HTML+VueJS+Bootstrap CSS
* Backend: Firebase
* Test suite: Playwright

Act as a product engineer and ask more relevant questions for the application

Generating and refining requirements

This is incredibly valuable because ChatGPT doesn't just spit out a list of features. It challenges my assumptions, points out potential pitfalls, and often highlights missing requirements that I hadn't considered. Once I've answered the questions and refined the vision, I ask it to produce an initial software requirements specification (SRS). This document is usually quite detailed and includes key features, user stories, and suggestions for the technology stack. Of course, it's not the final blueprint, but it's a fantastic kickstart to the planning process.

Here’s an example of a prompt framework for producing a requirements specification::

Now that we’ve wrapped up the brainstorming process, can you compile our findings into a comprehensive, developer-ready software requirements specification (SRS) that adheres to ISO/IEC/IEEE 29148:2018? Include all relevant requirements, architecture choices, diagrams in Mermaid, data handling details, error handling strategies, and a testing plan so a developer can immediately begin implementation.

After reviewing the SRS, I iterate further—perhaps I notice a requirement for data protection in one application's analysis component or a specific user flow in the other application that needs more clarity. Then, I feed ChatGPT with the new context and see how it restructures or expands the requirements with new insights. Each iteration sharpens the focus and ensures better alignment between the product vision and the actual implementation.

Accelerating the development process

The most exciting part is how quickly I can go through these iterations. I've saved days—sometimes weeks—in the early clarification and documentation phase by using ChatGPT as a sparring partner. It can sketch potential architecture solutions, generate pseudocode for certain functions, and even suggest best practices for scaling or compliance. Naturally, I still rely on my own expertise to decide which suggestions make sense. ChatGPT (or similar models) is not a miracle solution, but it's almost like having an on-demand programming partner ready to brainstorm around the clock.

Before implementation, I make sure to break down the application and import the individual tasks as GitHub Issues. This allows me to work step by step, take a break, and return without feeling completely lost.

Here’s an example of a prompt framework for breaking down the application::

Now, I'd like you to act as a code mentor and pair programming partner. I would like to split up the application in several iterative pieces that build on each other, and work on each one of them one at a time. Please suggest the order of this.

Implementing code with AI assistance

For implementing the code, I've used both the common large language models, such as ChatGPT and Gemini, but also experimented with various agentic AIs, such as Windsurf AI. Agentic AIs are brilliant because they connect your coding environment directly to the language model. However, some form of requirements and documentation is still necessary.

Here’s an example of a prompt framework for implementing the application::

Alright. Let's get started with the development process using the pieces that the application was broken down to earlier. I'd like to start implementing step number 1. As mentioned earlier, I'd like you to act as code mentor and pair programming partner, so please be a thorough in your explanations and ensure to output all the code incl. tests for all functionality in the step.

Reflection on workflow transformation

The entire workflow has changed the way I approach product development. Instead of staring at a blank document, I can collaborate in real-time with an AI that keeps track of my requirements and goals—and constantly pushes me to fine-tune the details. The two applications are still in progress, but I can already see how the AI-assisted method results in more thorough and better-structured plans right from the start.

AI will change the way we work with software and product development

AI will revolutionise software and product development by shifting roles from traditional programmers to facilitators who curate and validate AI-generated outputs. This transformation accelerates the development process, enabling iterations in days or weeks instead of months. While AI improves precision in requirements and testing, it also introduces new challenges in data security and compliance. Embracing this change requires a cultural shift that encourages developers to integrate AI closely into their workflows while still taking responsibility for the final outcome.

Are you using or considering using AI for product development? If so, has it changed the way you work, and have you become more or less efficient?


Inspiration & resources:


Leave a Reply

Your email address will not be published. Required fields are marked *

en_GB