UI-driven development
For apps where the screens are the product: consumer and business apps, dashboards, mobile apps. You see and shape the whole UI as a clickable prototype before any real logic is built, then the team wires it up release by release.
Plan with: a product brief and a UX spec. No full PRD needed to start.
Releases
Every key screen and the navigation between them, on mock data. You click through it in Preview and comment on anything.
The signed-off screens wired to a real backend for the main user journeys. Integrations still mocked.
One release per batch of features or feedback, until it is ready to launch.
Steps
- Terminal
npx madcompany init --mode uiSet up, then keep
npx madcompany hqrunning - Claude Code
/bmad-product-briefWhat the product is and who it is for
- Claude Code
/bmad-uxThe UX vision and the screens
- Claude Code
/mc-staffPick the team, then restart Claude Code once
- Claude Code
/mc-plan-releaseR1: the clickable prototype
- Claude Code
/mc-ui-sprintClick through the screens with the team and comment in Preview until you sign off
- Claude Code
/mc-startThe team builds the release; you watch HQ and answer Inbox and Human help
- HQ
Releases → ApproveOr Request changes, which go back to the team
- Terminal
npx madcompany ship R1Merge into main and tag; push and deploy are in Human help
- Claude Code
/mc-plan-releaseR2, R3…: the next release from your feedback
You and the team
You
- Write the brief and the UX direction (
/bmad-product-brief,/bmad-ux), or just describe the app to the lead - Sit in the UI sprint: open HQ → Preview (or Expo Go on your phone), click Comment on anything; each comment becomes a ticket
- Sign the screens off
- Review each release in HQ → Releases
- Do the Human help items: accounts and keys for the services the app will use, then push and deploy
The team
- R1: real screens in your stack (Next.js, Expo…) on hard-coded data and a mock API client, with a screenshot on every UI ticket
- After sign-off: writes the API contract the screens need, then builds the backend to it
- Later releases replace mocks with real logic, one flow at a time, keeping the signed-off screens intact
- Files Human help for every service it will need, as soon as it knows
Tips
- Keep R1 to screens and navigation. Resist wiring anything real until you have clicked through everything.
- Comment on the Preview rather than describing changes in chat: the comment carries the screen, element and screen size.
- Your sign-off is recorded as a decision with screenshots, and the UI sprint is saved as minutes in the Library.
- Mobile: Expo web preview in the browser, Expo Go on your phone, or the iOS Simulator / Android emulator on your machine.