Duo Security is an access security company that helps businesses make sure only the right people, not hackers, can log into their apps and systems, through things like two factor login checks and device trust checks.
Getting beta features to customers ran entirely on manual outreach, with a person in the middle of every loop.
A self-service portal where customers turn on beta features and send feedback themselves.
A product-to-design handoff: what the PM handed off, and what design gathered before picking it up.
Experimented with running the competitive research through Claude, comparing how Linear, Vercel, Notion, Stripe, and Slack each handle beta.
Experimenting with designing in code with Claude, instead of Figma.
| Attempt | What I tried | Outcome |
|---|---|---|
| Design system MCP | Pull real components via our design system's MCP | Too early, unreliable |
| Storybook | Read components straight from Storybook | Not accurate enough |
| GitHub repos | Cloned our design system's repos into Claude Code | Too much scope to extract cleanly |
| Inspect & copy | Copy code from our test environment via inspector | Still not clean |
The PM's Lovable concept rebuilt inside the real Duo admin shell, as an Early Access settings page.
A site pinned in our team channel opened straight to this hub, where everything related to design lived, organized in one place.
The first design pass, built as three collapsible sections inside the admin panel.
A refinement pass that tightened the structure and content based on feedback so far.
Scaled down to the basics to start: the smallest version worth shipping and testing first.
Not everything about V1 was planned. A few things surfaced once the build was already underway.
Shipped into customer beta in under 1.5 months and rolling out to customers today.
Beyond the build itself: what worked, what didn't, and what it surfaced about the process.