Cisco · Duo Security

Early Access Portal

Manual outreach was the bottleneck

The Problem

The old feedback model ran entirely on outreach, with a person in the middle of every loop. Alpha and beta were where the work stalled.

Idea
Day 1
Research
Weeks–months
Design
Weeks
Build
Weeks
Alpha & iterate
Weeks
Beta, iterate, GA
Weeks
PainReality
RecruitmentProduct managers spent days to weeks per program finding customers
Response rateManual outreach landed under 1%
DependencyEvery conversation brokered through customer success
RepetitionThe whole cycle restarted at alpha → beta → GA
Opt in, no one in the middle

The Solution

A self-service loop where customers turn on beta features and send feedback themselves — no recruitment, no one brokering the middle.

Customer
turns on features →
Beta portal
← routed feedback
Product
team
For customers

Opt into early access and shape the product on their own terms, instead of waiting to be found.

Internally

Feedback comes back tagged and routed, so product managers reclaim the weeks lost to recruitment and synthesis.

No one brokers the loop anymore — value runs both directions, and signal flows back at scale.
Goals & Team

What we set out to do — and who did it

Covering research framing, the end-state vision, every iteration, and the build that shipped to engineering. No separate design team, and deliberately no Figma stage.

Goals
  • Let customers opt in and give feedback without a PM brokering every conversation
  • Ship a V1 fast enough to test the real question: will customers use it themselves?
  • Hand engineering something built to scale, not a one-off prototype
4
Core team: design, product management, and two engineers
4+
Stakeholders — product, engineering, design, and leadership — in weekly review
0
Figma files — every iteration designed directly in code
Collaboration

Trust built on a live build, not a deck

Every Friday, product, engineering, and leadership reviewed the same working software — not a mockup, not a spec. That changed how the team worked together.

Mon standup · Wed office hours · Fri — 4+ stakeholders review a live build
One conversation, not three

Feasibility, design intent, and scope got resolved live in the room, instead of bouncing across separate design review, eng scoping, and PM alignment meetings.

Shared reality over assumptions

Everyone reacted to the same real thing each week, instead of carrying their own mental model of what "the feature" was supposed to be.

Faster trust, faster yes

Leadership could see progress firsthand every week, which made it easier to greenlight scope changes without a lengthy re-pitch.

The build itself became the shared source of truth for product, engineering, and leadership alike.
Preview

Where things stand today

V1 shipped and is live in customer beta. Here's the headline — we'll walk through how we got here.

~1 mo
Design to customer beta — record time for a project of this scale
81
Enrollments in the first month
40%
Of customers rolled out across 5 shipping features
39 customers enrolled, 4 of 5 features at double-digit adoption — full breakdown ahead.
Behind The Build

How did we do this?

Design Process

Not a blank page — a handoff to build on

It began with a starting direction from product, taken much further before the first real build.

Starting point
  • Rough PRD
  • Initial competitive research
  • Lovable mockup
Taken further
  • Reviewed the existing research
  • Far wider competitive teardown
  • Grounded the vision into the product
From there, the direction was rebuilt inside the actual product — the real Duo admin shell, its navigation, and existing components.
Research

Competitive teardown, and a gut check internally

A wider teardown of how Linear, Vercel, Notion, Stripe, and Slack each handle beta — plus context from another team on how we recruit customers to test features.

  • Surfacing — where beta features live in the UI
  • Enrollment — how users opt into early access
  • Feedback — how input gets routed back
  • Design system — badges, toggles, density
  • Recruitment — talked with another team's researchers about how they recruit customers to test features
Competitive teardown board comparing Linear, Vercel, Notion, Stripe, and Slack
Design

Finding a skeleton to build on

An early design-system map didn't hold up. What worked instead was starting from what already existed and designing for who'd actually use it.

The skeleton experiment

A full design-system map didn't work in the early phases. Instead, took the real test environment and had Claude replicate its skeleton as the base, then referenced the PM's prototype to bring it to life.

Designing for risk-averse security users

Duo customers expect Duo to lead on what's most secure. Features roll out to small targeted groups first, then scale up on a percentage basis.

00  Iteration

The vision, grounded in the product

The PM's Lovable concept rebuilt inside the real Duo admin shell, as an Early Access settings page. A grounded starting point, before real content structure or a feedback loop.

Iteration 00 — the vision grounded in the real Duo admin shell
  • Rebuilt the PM's Lovable concept inside the real Duo admin shell and its existing components
  • Framed early access as a settings page rather than a standalone surface
  • A grounded starting point, with no real content structure or feedback loop yet
What worked
  • Grounding the vision in the real shell made it feel shippable, fast
What didn't
  • No content structure or feedback loop yet — still a shell, not a product
01  Iteration

First design pass

The first build designed in code. Page inside the admin panel, feature-list structure, status, enable/disable, and a feedback prompt.

Iteration 01 — first design pass inside the admin panel
  • First build designed entirely in code, living inside the admin panel
  • Introduced a feature-list structure with per-feature status and an enable/disable toggle
  • Added a feedback prompt to start closing the loop with customers
  • Looked at existing patterns already in the product to see what could be salvaged
  • Collected feedback and stayed aligned across many stakeholders as the design moved
02  Iteration

Closest to the end state

Explored where early access lives: dedicated homepage vs. top-nav entry. A content pass tightened feature names and descriptions.

Iteration 02 — early access promoted to a top-nav entry
  • Promoted early access to a top-nav entry instead of burying it in settings
  • Tightened feature names and descriptions in a dedicated content pass
  • The structure that came closest to the shipping end state
  • Revisited and refined based on incoming feedback while eng started building the backend in parallel
  • Started scaling the design down and thinking about long-term maintenance and upkeep
From a North Star to a Spec

Design the end state, then cut scope

The PRD was a North Star: direction, with almost no requirements. Instead of waiting for it to fill in, I designed the end state in code, then cut scope down to the V1 worth shipping first.

Earlier attemptThis time
Build toward the full automated visionStart with the simplest possible version
Scope kept expandingIterate weekly, nothing gets scrapped
Never shippedEvery V1 decision made with the end state in mind
What V1 had to prove: a Beta Programs page, a short feature list, status with a per-feature toggle, and a feedback prompt on opt-out. One question — if we give customers a page to enroll themselves, will they use it?
Building the MVP

Naming, content, and the surprises along the way

Getting the MVP right meant nailing the details customers would actually read, and adjusting to a few things no one planned for.

Naming & content
  • Naming convention and placement for each feature entry
  • Why we landed on this structure over the alternatives explored
  • A dedicated content-design pass on feature names and descriptions
During the build
  • Modal alignment issues that needed a design fix mid-build
  • Coordinated with the documentation team on the shipped experience
  • A few features asked to be added last-minute
V1  In development

The build that shipped

Feedback intake, routing, and the early-access surface consolidated into what customers actually touch. Handed to engineering, now entering customer beta.

V1 — the build handed to engineering, entering customer beta
  • Consolidated the early-access surface into the page customers will actually touch
  • Built feedback intake that tags and routes input to the right teams
  • The build handed to engineering, now entering customer beta
Results

Live in customer beta

V1 went into customer beta and is actively in review, gathering more feedback as customers use it.

~1 mo
Design to customer beta — record time for a project of this scale
5
Features shipping to customers, rolled out on a percentage basis
0
Middlemen — no manual recruitment or customer-success coordination
1.5 weeks in
7
enrollments
  • 148 unique visitors
  • 231 total visits
  • 21 engaged with a feature
1 month in
81
enrollments
  • 39 customers enrolled
  • 40% of customers rolled out
  • 4 of 5 features at double-digit adoption
AI Learnings

How designing in code with AI changed the workflow

The biggest shift wasn't a feature — it was the loop the whole team worked in.

Hours, not weeks

Each iteration went from idea to a working, clickable build in hours instead of weeks — design stayed ahead of the project instead of trailing it.

Reviews changed shape

Weekly reviews shifted from critiquing mockups to critiquing working software — feasibility questions got answered on the spot, not punted to a follow-up.

The tradeoff

Less upfront spec meant more in-flight scope negotiation — the PRD got written against something real, but it was written later, not first.

What we'd tell another team: don't wait for the spec to stabilize — build the end state, cut it down to a V1, and let the working software carry the argument.
Impact

Design hub

Placeholder — drop in what the design hub is and what it enabled.

Fill in: what the design hub is, and what it unlocked for the team.
Reflections

Design led the project

The real shift was the process. Designing in code with AI turned ideas into working screens in hours instead of weeks, so design ran ahead of the project instead of trailing it.

  • Design led the project — there was always something real to react to, instead of waiting on a spec.
  • The build kept everyone aligned — product, engineering, and customer success worked off the same real thing instead of their own assumptions.
  • Requirements emerged by reacting — each demo sharpened the PRD against something real, not an abstract doc.
  • What went well, what didn't — as a group, [fill in specifics].
  • What I'd do differently — [fill in specifics].
Cisco / Duo Security · 2026