Skip to content
Build120 minutesLesson 5 of 24

Drawing the flow

Signup is “four simple steps”. Most people who start it never finish. Nobody can tell you which step loses them, because nobody has drawn it.

A flow is states, not screens

Screens are what design draws. States are what actually happens: logged out, verified, partially complete, expired, errored. Most drop off lives in a state nobody drew.

The rule of thumb is that each additional required step costs you roughly 10 to 20 percent of the people still in the funnel. Compounding across four steps is how “four simple steps” becomes a 38 percent completion rate.

For every arrow in your flow, write the analytics event that would prove someone travelled it. If you cannot name the event, you will not be able to answer “where do we lose them” after launch either.

Open appentryEnter emailinputVerifywaitHomedoneCode expired62% leave hereEmail already usedSolid line: the happy path. Dashed: the states that actually lose people.
The dashed states are where the people go. They are almost never in the original spec.
Work through it

A useful flow describes state transitions, including what happens when the expected action fails. It becomes a shared contract for design, engineering and analytics.

Use your chosen course project throughout. The additional examples below are fictional practice cases; transfer the method to your own evidence.

Name states precisely

“Bank screen” is not a state. “No bank connected,” “connection pending” and “provider callback failed” are different conditions that may share one screen. Give each state an entry condition and the actions it permits. This exposes states that cannot be reached or escaped with the current design.

Label transitions with evidence

For each arrow, write the trigger, the success condition and the event that would prove it happened. A click on Connect is an attempted transition, not proof of a connection. Distinguish the user's action from the provider's response and the persisted result so analytics does not count intent as success.

Design the return path

Add timeout, retry, cancellation and returning-later paths. Ask whether retrying duplicates work, whether the person's input survives and where they land after reopening the product. A recoverable failure is part of the product experience; it should not exist only in an engineer's exception handler.

The visual field guide

A click is not a completed connection

  1. Intent: Connect clicked
  2. Pending: Provider handoff
  3. Result: Callback received
  4. Saved: State persisted
A click is not a completed connection. Apply this sequence to your own project; it is a conceptual guide, not measured data.
Try the concept

A delayed response changes the flow

Interactive teaching example · All numbers and tickets are fictional.

RequestConfirmedSaved

The server confirms completion before the product shows a saved result. A button click alone is not confirmation.

How Amazon handled it

Amazon

1999

Public commentary. No affiliation.
The situation

Standard ecommerce checkout in the late nineties was five to seven steps, and every step lost customers.

What they did

Amazon patented removing all of them. The insight was not clever design, it was that they already had your address and card, so every step after buy existed only because the flow had been designed around the company's data model instead of the customer's intent.

Why it matters to you

Most flows are long because of how the company is organised, not because the user needs the steps. Drawing the flow is how you find those.

Doing it with AI, and where it breaks

The move

Describe the flow in prose, have a model turn it into Mermaid diagram code, render it, then hunt specifically for the edge states it invented and the real ones it dropped.

The trap

Models produce clean happy paths. They silently omit “user closes the app and comes back tomorrow”, “code expires”, and “email already registered”, which is exactly where your drop off is.

Your AI workbench

Start with your own notes or clearly labelled practice data. Remove private details before sharing. Replace the placeholders, run the prompt in your chosen AI tool, and keep the output beside its source.

Prompt worth stealing

Convert my state list into a Mermaid state diagram. Preserve my state names. For each transition include trigger, success evidence and analytics event in a separate table. Ask about missing retry, timeout, cancellation and return paths. Do not equate a clicked button with a successful provider response. State list: [paste].

Before you use the output

  • Walk every arrow using a concrete scenario
  • ensure every failure has a recovery or explanation
  • validate event semantics with engineering.
Stuck? Try this next

Render the generated diagram and trace it aloud. If the model cannot explain a transition without introducing a new state, add that state explicitly.

Keep a brief AI log: input used, useful output, what you checked, and what you rejected. The decision remains yours.

Build it

The artefact

A rendered flow diagram with every edge state, and the event name for every arrow.

Mermaid Live EditorFigma or Excalidraw

0/7
Publish your project · 1 of 3 in Level 1

The flow I thought I understood

Publish a 500–800 word project teardown. Show your original flow and a revised version with one recovery path. Explain a mistaken assumption, the evidence behind your revision, and what you would test next.

Include: A readable before-and-after flow with captions explaining the changed state.

  1. Write in your own voice for someone facing the same product problem.
  2. Use AI to critique the structure and find unsupported claims. Verify every source, number, and quotation yourself. Add a short note describing how you used AI.
  3. Remove private customer, company, and participant information. Label practice scenarios and synthetic data clearly.
  4. Publish on Medium, Substack, or a relevant Reddit community that permits project write-ups and links. Follow its posting rules; share a useful account of the work.

Include this plain attribution with a clickable link:

I developed this project while learning product management at pmcademy.com.

Stored only in this browser. Saving a link does not publish an article or submit it for badge review.

Checkpoint

If you did the build, these take two minutes. If you cannot answer one of them, that is the part to go back to.

Moving on marks this lesson complete. Finish the build first, it is the part that counts.