Build story from the Sandbox · experience and AI design

FlowCraft

I designed and built a visual flow builder that gives AI coding agents the one thing they can’t see in a design: how a user moves between screens.

Role
Solo: problem framing, interaction and flow design, AI-native prototyping
Scope
Concept, UX, visual flow editor, AI generation, agent hand-off
Built with
Claude Code, Supabase
Status
Early experiment. Live and open source (MIT)

Summary

The challenge

AI coding agents can read screens, components and design rules, but not the journey between screens: what triggers a transition, and how decisions and errors branch the flow.

What I did

I built a canvas where you map that journey as typed nodes and connections, generate a first pass from a sentence with any AI model, and export it as structured JSON an agent can read.

What changed

A live, open-source tool, and a working test of AI-native practice: I designed it by co-creating with Claude Code, the same kind of agent it feeds.

Challenge

The questionHow do you give an AI coding agent the part of a design that lives between the screens?

AI tools understand screens, but not the journey between them

Working with AI coding agents, I kept running into the same gap. Even with tools like Figma MCP or a structured design system, something is missing when you move from design to implementation.

AI tools can read individual screens, components and system rules. But they struggle with the connections between screens: how a user moves through the product, what triggers a transition, and how states, errors and decisions shape the journey. That layer is where the experience lives, and it’s the part the agent can’t see.

Screen✓?Screen✓?Screen✓
Screens · components · system rules — understood
The connections between them — the missing layer
AI tools read screens, components, and rules well — but the connections between screens, the part that is the experience, go missing.

Prompts and Markdown describe the flow, but you can’t see it

I could keep writing ever more detailed prompts or a long CLAUDE.md, but a wall of text isn’t a flow. I wanted something I could see and edit: the branches, moved around, reasoned about as a designer. So I built FlowCraft to make that layer explicit.

What I built

Five parts, from drawing a flow to handing it to an agent.

Visual flow building

The core is building the flow by hand. You create nodes with flexible types, give each a description and an interaction type, then draw connections and annotate each with the interaction that drives the transition. Multi-select lets you edit several nodes at once.

SCREENCartitem list · subtotal
click checkout
ACTIONValidatecheck stock
Build by hand: each node carries a type and a description, connections are annotated with the interaction that triggers them, and you can multi-select to edit several at once.

Bring your own AI

FlowCraft is model-agnostic. You connect any AI provider with your own API keys, so it fits the stack you already use instead of locking you to one model.

FlowCraft
your API key
OpenAI
Anthropic
+ any provider
Model-agnostic: connect any AI provider with your own API keys.

AI flow generation

The most interesting part to design was the moment a flow goes from a sentence to a canvas. You describe an experience in plain language, FlowCraft generates a first pass, and you expand and refine it: adding branches, naming transitions, splitting a screen into a decision and an error state.

It reframed the work. Instead of drawing every box, I was directing and editing: judging whether the generated journey made sense, then refining it. The AI handles the scaffolding; the design judgement stays human.

PROMPT“A checkout flow
with login + error”
✦ generate
Cart
Login
Ship
+ expand & refine
Generate a first-pass flow from a prompt, then expand and refine it into a full product experience.

Export for Claude Code

The point of the flow is what happens after you draw it. FlowCraft exports the journey as structured JSON, a typed graph of nodes and connections an agent can read directly: which screen leads where, what triggers each transition, how decisions branch. It drops into a CLAUDE.md, a prompt or an MCP response with no extra tooling.

Cart
Login
export
{
  "nodes": [ … ],
  "connections": [ … ]
}
>_agent
Export the journey as structured JSON — ready to drop straight into an AI coding agent like Claude Code.

Cloud sync

Flows save automatically and stay in sync across sessions, built on Supabase, so picking the work back up never means losing a journey or re-exporting by hand.

Session A
auto-saved
sync
Supabase
sync
Session B
in sync
Cloud sync on Supabase: every change saves automatically and follows you across sessions.

Try it

The live editor — open in a new tab

How I built it

An AI-native way of working.

FlowCraft is also a study in how it was made. I designed and built it by co-creating with Claude Code, iterating on the interaction and the interface in conversation with an AI agent, the same kind of agent the tool is meant to serve.

That loop changed my role from making to directing: framing the problem, judging each iteration against how the experience should feel, and steering the next pass. Building the tool this way was the most honest test of the idea behind it.

Reflection

  • Shipped and open

    An early experiment, live and open-sourced under MIT.

  • The missing layer, made visible

    The journey between screens became something I can see and edit, not describe in prose.

  • An open invitation

    Take the code, change it, and share how you think about design, AI and developer tools.

Back to the Sandbox to try FlowCraft and the other tools I’ve built.