FlowLock turns your PRD into a living contract. If a screen shows data nobody captured, or a flow dead-ends, the build fails. Agents & devs only ship UI that actually works.
npx uxcg init my-app
If copy is blocked by your browser, a flowlock-install.txt download will start instead.
Whether you're a product owner, developer, or AI builder, FlowLock adapts to your workflow
One click: Watch & Stream. See a plain-English todo list in Cloud.
CI gates + exact patches. Guardrails that prevent rework.
Agents scaffold only when green. Less hallucination, more shipping.
Join thousands of teams building better products with FlowLock
CLI for power, IDE for guidance, Cloud for collaboration.
Initialize guardrails, generate diagrams, and block bad commits. Works in any repo in minutes.
Cursor/Claude/VS Code integrate slash-commands so agents scaffold UI only once the contract is green.
Review Gap Reports, flows, and traceability with your team. Enforce policies via GitHub Actions.
npx uxcg init my-app
If copy is blocked by your browser, a flowlock-install.txt download will start instead.
Blocks merges if flows or fields don't line up. It's CI for UX.
One compact spec ties role → JTBD → flow → screen → field. If it's not in the spec, it doesn't exist.
Your AI can't improvise; it reads the spec, passes validation, then generates UI that matches.
If they fail, the build (or the agent) is blocked. These guarantees ensure your UI works exactly as specified.
UI only uses fields that are captured, derived (with provenance), or from an approved source.
Primary jobs are reachable from entry in ≤3 steps. No dead-ends/orphans.
Every creatable entity has a details view and a discoverable path.
CTAs respect allowed transitions and guards.
Lists, forms, cards declare states with copy.
Screens & CTAs visible only to declared roles.
Every component maps back to the contract.
From idea → PRD → contract → UI, with audits and simulations.
Transform ideas into working UI
Describe your idea in plain language. FlowLock asks smart follow‑ups and drafts a complete PRD with roles, JTBD, entities, and success metrics.
AI synthesizes a traceable UX contract (uxspec) with flows, screens, fields, and policies. No UI yet—just the truth.
Once green, orchestrates your AI agent to generate components that exactly match the contract.
How FlowLock ensures AI agents generate correct UI
Scaffold only when the contract is green.
Agents read the contract + fixtures, not your whole repo.
Non-conforming output is rejected and re-asked.
Pinned model/prompt/seed; cached by spec digest.
Stream audits, artifacts, and todos to the Cloud from your laptop. No commits needed.
{
"run": {
"origin": "local",
"specDigest": "sha256:7f3b9c2a...",
"timestamp": "2025-08-14T19:26:59.606Z",
"status": "running",
"checks": [
{
"id": "honest_reads",
"status": "pass",
"message": "All reads are honest",
"ref": {
"screen": "workout_detail",
"entity": "Workout",
"field": "intensity"
}
},
{
"id": "reachability",
"status": "pass",
"message": "3-click rule satisfied"
},
{
"id": "state_validity",
"status": "pass",
"message": "All state transitions valid"
}
],
"artifacts": [
{"type": "svg", "name": "er.svg"},
{"type": "csv", "name": "screens.csv"}
],
"metrics": {
"coverage": 100%,
"reachability": "3-click",
"deadEnds": 0,
"tests": {
"passed": 0,
"failed": 0,
"total": 0
}
}
}
}
Free gets you the open schema and baseline checks locally. Pro unlocks Cloud live runs, IDE quick-fixes, autofix, and advanced checks. Enterprise adds SSO/SAML, private prompts/models, custom checks, on-prem relay, audit logs, and SLAs.
A tiny JSON spec that declares roles, jobs-to-be-done, flows, screens, fields and state rules. The UI must match it, or validation fails.
Yes. FlowLock is stack-agnostic. It generates docs and tests; your UI stack (Next.js, RN, desktop) consumes the spec.
IDE slash-commands tell agents to fill the spec from your PRD, fix validation errors, then scaffold UI. No spec, no code.
Yes—safe auto-fixes remove dishonest reads and suggest exact edits. The Cloud dashboard lets you apply or revert with one click.