Tokens, type, motion and component patterns extracted from the SeeFlow hero animation. Dark zinc foundation, emerald as the signal color, Inter for product voice, JetBrains Mono for anything mechanical.
Slides in from the right edge of the canvas. tx: 420px → 0, easeOutCubic, 500ms.
Content reveals in a stagger: +0, +150, +300, +450ms per block. Activity rows pile in at +80ms each.
The originating node gets a 3px emerald ring while the sidebar is open so the user keeps the visual link between the row of activity and the system it describes.
Drop these tokens into globals.css and shadcn/ui primitives inherit SeeFlow's palette automatically — no per-component overrides needed.
/* globals.css — dark theme */ .dark { --background: 240 6% 7%; /* zinc-950 #09090b */ --foreground: 0 0% 98%; /* zinc-50 #fafafa */ --card: 240 5% 11%; /* zinc-900 #18181b */ --popover: 240 7% 6%; --primary: 160 84% 39%; /* emerald-500 #10b981 */ --primary-foreground: 158 80% 10%; --secondary: 240 4% 13%; --muted: 240 5% 11%; --muted-foreground: 240 5% 65%; /* zinc-400 */ --accent: 240 4% 13%; --destructive: 0 84% 60%; /* red-500 #ef4444 */ --border: 240 4% 16%; /* zinc-800 */ --input: 240 5% 12%; --ring: 160 84% 39%; /* emerald — focus */ --radius: 0.5rem; /* 8px */ }
--primary emerald (not blue) so CTAs read as "live signal," not generic web button. Keep --radius at 0.5rem — anything bigger softens the control-panel feel.
destructive only for actions that delete or stop a real service.seeflow.json apply hot — you don't need to restart the dev server.POST /payment/charge. Check the running container.Stripe API · connected
Anyone with the link can view (read-only).
In-flight requests will fail with a 503. This affects the running checkout flow.
| Endpoint | Method | Status | Latency | Last hit |
|---|---|---|---|---|
| /checkout | POST | 200 | 142 ms | just now |
| /payment/charge | POST | 200 | 98 ms | 12s ago |
| /inventory/reserve | GET | Pending | — | 48s ago |
| /notify | POST | 502 | 5,003 ms | 2m ago |
--radius: 0.5rem globally. Bigger radii read as marketing, not tooling.--primary per-component. If a button needs a different color it's a different role.All glyphs are stroked at stroke-width: 2 (heavier 2.2 for the wordmark), round caps and joins, 24px viewBox. Color is inherited via currentColor so glyphs adopt node state.
/seeflow show me the checkout feature. Response lines stagger in (+0.55s each). Generated file pill appears.
02 / generate.Every node is clickable. Every edge carries a real request. If it can't be touched, it shouldn't be on the canvas.
Emerald means OK. Amber means pending. Red means broken. Surfaces stay grayscale so signal can't be drowned out.
A click animates the cursor. A request animates a packet along an edge. A response animates the receiving node. Nothing moves without a cause.
Anything a developer would type — paths, statuses, durations — is set in JetBrains Mono. It signals "this came from your real system."