Answer nine concrete questions. The result is a problem frame, a first slice, and a list of unknowns—not a generated architecture.
A goal stated as a technology ("a React app with Postgres") has skipped the problem. The first sentence should survive every technology being swapped out.
Start with "A place where…" or "A tool that lets…". If a framework or database appears in the sentence, remove it and see what is left. State the Outcome →
Actors decide which workflows exist. A store with only customers has no "add product" flow; a store with sellers has a second product entirely.
One per line. Include the boring ones: the admin, the support person, the scheduled job. Identify Actors and Actions →
Every system has one workflow that, if it does not work, nothing else matters. That workflow is the first slice and the thing every other decision serves.
A verb and an object: "place an order", "send a message", "upload a file". If you have three, pick the one the others depend on. State the Outcome →
Entities fall out of the nouns in the requirements. Naming them before choosing storage keeps the model about the domain instead of about a database.
Nouns from the previous answers: product, basket, order, customer. One per line. Identify Actors and Actions →
Not everything needs a database. A basket may live in the browser; an order must never be lost. What persists decides where the hard consistency problems are.
Subset of the data list. Ask "if this vanished, who would be angry?" Name the Constraints →
Every external system is a boundary: an interface to design and a failure to handle. Payment providers, email, storage and search are almost never yours.
Payment provider, email service, file storage, maps, an internal legacy system. Naming a provider here is fine — it is a boundary, not a premature decision. Name the Constraints →
V1 is what remains when everything that can be postponed has been. It is not a bad prototype — the core action works end to end — but it has nothing else.
Three to six capabilities. Everything you list here is V1; everything mentioned elsewhere and not here is explicitly not V1. Name the Constraints →
An unknown is not a blocker; it is a question that has not been asked precisely yet. Writing it down is the first step to turning it into an experiment.
Be blunt: "payments", "how uploads work", "whether one server is enough". The tool will sharpen each one into a question. Sharpen the Question →
The first thing is one feature through every layer, not one layer for every feature. It proves the pieces connect and gives you something to run on day one.
Pick from the smallest version. The core action is usually right; the riskiest unknown is sometimes righter. Build a Vertical Slice →
0 of 9 questions answered. The tool only reorganises what you wrote.
The frame is incomplete
Answer all nine questions to make the roadmap usable.