
Web application · DADO · Ownership
DADO
DADO is a luxury gifting platform. I own product design across it: the design itself, roadmap priorities, and the QA operation, leading a 12-person team from zero through launch.
To respect DADO’s NDA, some specifics are omitted here and shared only in interviews.
Role
UX Designer, owning product end to end
Team
12-person team led through launch





+7
Timeline
0 → 1 → invite-only launch
Tools

Figma

FigJam

Claude Code

Asana
+10 more
Outcome
Launched invite-only to 5,000 members with 150+ flows across 3 products, designed end to end.
The challenge
Gifting software has a trust problem: it involves money, surprises, and other people’s personal information at the same time. DADO adds a harder constraint, luxury: every flow has to feel considered, and every failure state has to protect a relationship.
The solution
Consent-first architecture across every surface, a design system enforced by an AI contract, and a QA operation built from nothing. 3 launch products designed end to end (The Edit, Accounts, One Big Wish), with Together and Overture following, on an information architecture spanning a 60+ page editorial system and a 20+ category taxonomy.
flows shipped across 3 launch products
QA test cases across 9 sections
people led through launch
members invited at launch
What launched.
DADO is live. It launched invite-only, with 5,000 invitations sent. DADO is built for a luxury audience, and invite-only was a deliberate choice. It let us watch the product perform in a live market and fix what broke before opening the doors wider, and for this audience exclusivity is part of the product. They value getting in first.

The Edit
The editorial face of the platform.
Open

Accounts
Where profiles, wishlists, and sharing live.
Open

One Big Wish
One wish, funded by the people around you.
Open
The Edit
Accounts
One Big Wish
Together
Overture
Wishlists
Occasions
Reminders
Gift Claim
Profiles
Group Gifting
Digital Gift Cards
Sharing
Invitations
I designed all three end to end. Two more products, Together and Overture, follow about a month after launch.
The process, from PRD to production.
Every product on this page walked the same road. It starts as a PRD. The PRD becomes user flows in FigJam (150+ shipped across the three products), the flows sit on an information architecture spanning a 60+ page editorial system and a 20+ category taxonomy, and the screens grow from sketches to wireframes to hi-fi on the design system below.
PRD
Where every product starts
Every product on this page starts as a PRD before a single screen exists.
User flows
150+ shipped in FigJam
The PRD becomes user flows in FigJam, 150+ shipped across the three products. This is the One Big Wish board; the Accounts board opens in the Accounts section below.

Information architecture
60+ pages, 20+ categories
The flows sit on an information architecture spanning a 60+ page editorial system and a 20+ category taxonomy. The map is below.
Sketches and wireframes
Pencil to frame
Screens grow from sketches to wireframes before they touch the design system.
Hi-fi on the design system
Shipped
Hi-fi screens are built on the design system below, then shipped through the same pipeline into React, TypeScript, and Tailwind.

dado /
Editorial system · 60+ pages
/the-edit
The Edit
landing
/dado-presents
DADO Presents
24 guides
/list-edit
List Edit
20 edits
/dado-seasonal
DADO Seasonal
12 stories
/dado-editions
DADO Editions
by city
/giftguides
Gift guides
by slug
/gifts
Gifts
browse
/journal
Journal
/dado-presents/…
24 routes
Beauty splurge
Buys his own things
Comfort care
Dads having a moment
Fine and forever
Fragrance wardrobe
Fragrance wardrobe · her
Fragrance wardrobe · him
Goop got to her
Got into pilates
Hostess gift
It’s not about the tennis
Just started dating
Métier
New mom
Puppy love, no budget
Rich aunt energy
Self-care is not cliché
Someone else’s children
Tale of two houses
The boss
The friend with better taste
Treat yourself
Wanderlust
Gift taxonomy · 20+ categories
Categories · 8
Fashion & Accessories
Jewelry & Watches
Home & Living
Beauty & Wellness
Gourmet & Spirits
Tech & Innovation
Art & Books
Experiences
Occasions · 10
Christmas
Romantic Gifts
Birthday
Anniversary
Wedding
Mother’s Day
Father’s Day
Graduation
Housewarming
Thank You
Recipients · 8
The Minimalist
The Adventurer
The Connoisseur
The Aesthete
The Homebody
The Tech Enthusiast
The Wellness Seeker
The Collector
The information architecture map. The structure everything else hangs on.
Accounts: the consent architecture.
Accounts is where a person’s profile, wishlists, gift history, and sharing live. Sharing started out per list: one visibility setting covered a whole wishlist, so everything on it traveled together, and that leaked. The rebuild moved sharing to per-item visibility with a four-tier audience model, enforced consistently in the UI, the database policy, wishlists, gift history, and every public share link. The same rule holds wherever the data goes.
Per-item visibility
A four-tier audience model, enforced consistently in the UI, the database policy, wishlists, gift history, and every public share link.
Consent-gated invitations
Occasion invitations are consent-gated. No one lands in an occasion without accepting it.
Gift history at 18
A child’s gift history transfers to them at 18, with prices and notes permanently withheld.
Four-tier audience model
Hover a tier to see its reach
Only me
You
Close connections
The people you marked close
Connections
Everyone you’re connected to
Public
Anyone with a share link

Profile visibility on staging: three sections, each with its own audience picker.

The Accounts user-flow board, from wallet and address book to profile visibility. Click to open the full board and zoom.
One Big Wish: a wish funded by the people around you, and the flow I led.
In One Big Wish someone asks for one wish of one to five products, and their people pledge toward a goal set by the item prices. A five-step wish wizard and a four-step contribution rail, on Stripe saved cards. The payment model, the wizard, and the progress bar have their own deep dive.
The rule that shaped the payment design
DADO doesn’t refund contributions.
Everything downstream follows from that one rule: contributors see a non-refundable disclosure before they give, nothing is charged at contribution time, cards are charged in one batch 7 to 10 days before the moment, and a missed goal still has to end in a gift. Nobody’s money sits in limbo, because the flow doesn’t let it get there.
A missed goal still ends in a gift. The wisher chooses how:
Goal missed

$38 of $766.26 pledged when giving closed. Nobody has been charged.
Complete it yourself
Pay the remaining amount and the wish is fulfilled as planned. DADO buys the pieces and the brand ships them.
still ends in a gift
Keep what you raised
The raised amount becomes a digital gift card. Claims run through the account that created the wish, so the card can only reach the wisher.
still ends in a gift
Do nothing
The gift card is the default after the response window, so the wish never dead-ends.
still ends in a gift
The under-funded fork. Nobody has been charged yet, so the wisher decides.
One Big Wish deep dive →
the five-step wizard, the progress bar, contribution states, keep-what’s-raised
The Edit: luxury you can browse.
The Edit is DADO’s editorial face: a 60+ page editorial system on a 20+ category taxonomy, built so discovery feels like reading a magazine and still lands on a product you can gift. Every page runs on the design system, so the tone holds from the landing page to the last category. Behind it is a pipeline: editors plan guides in an Airtable calendar, and each entry flows into a templated page on the site. That’s how a 60+ page system stays consistent as it grows.

Home

The Edit

Gift guides

DADO Editions

DADO Presents
Editorial surface, commerce underneath: home, The Edit, gift guides, DADO Editions, and DADO Presents. Hover to widen, click to open. Staging captures.
A design system that ships as an AI contract.
I authored the Figma design system in full, from tokens and responsive breakpoints for phone and desktop to micro-interaction patterns and transactional email templates, with documented WCAG AA standards adopted across product surfaces. Then, because DADO is built AI-native, I exported it into a CLAUDE.md contract that every AI coding session loads before touching the product:
✓
Two typefaces, and no third ever.
✓
A closed color palette.
✓
Zero default radius.
✓
A section titled “What Claude Must Never Do.”
The result: design review starts from “already consistent,” because the generation is constrained upstream. And the same pipeline carries work to production. I take products from PRDs, financial models, and user flows into shipped React/TypeScript/Tailwind through Claude Code, with analytics (Amplitude) and error tracking (Sentry) wired in from the start.

CLAUDE.md
AI contract · excerpt
What Claude Must Never Do
1. Use any font other than Cormorant Garamond or Karla.
2. Use any color not listed in Section 4.
3. Add box shadows, border radii to standard components, or gradients without explicit instruction.
4. Introduce a third color palette.
5. Import external icon libraries without being asked.
6. Write inline styles that hardcode hex values not present in this document.
Source: DADO Design System Figma, Primitives + Theme variable collections.
The Figma variables collections (Primitives 123, Theme 77) and a CLAUDE.md excerpt. Click the variables to open the full table. The same design system, once for people, once for machines.
The QA operation, built from nothing.
Pre-launch products break in the seams. The QA operation started with a 308-case test workbook across 9 sections. The decision that made it credible: an earlier 144-case document was restructured against the actual codebase routes, so coverage claims meant something.
Intake runs through Asana: testers file through a form that creates routed developer tasks, so a bug’s path from discovery to fix lives in one system, end to end.
144
test cases, restructured from a 144-case document against the real routes
sections of the workbook
Nine sections
Per-section split not shown
§1
§9
Intake runs through Asana: a tester’s form entry becomes a routed developer task, so discovery to fix lives in one system.
The 308-case workbook by the numbers. The per-section split is not shown.
Coming next: Together and Overture.
Together and Overture follow about a month after launch, both designed.
Together
Group gifting: several people give one gift together for an occasion.
Upcoming
Overture
One-to-one gifting with the platform’s sharpest privacy rule: the sender never sees the recipient’s address. DADO holds it and fulfills against it.
Upcoming
Picture an employee sending their boss a thank-you gift: the gift arrives, the home address doesn’t travel up the org chart.
Sender
Picks the gift, pays, writes the note
DADO
Holds the address and fulfills against it
Recipient
Shares their address with DADO only
The gift
Gift
The address
Address
Never sees the address
The only party that holds both
Receives the gift at home
The Overture address boundary: what the sender sees, what DADO holds, what never crosses.
Where things landed.
DADO is live with its first 5,000 members. The launch numbers, from invite acceptance to how the first wishes and contributions behave, are the next chapter of this case study, and they’ll be added once they’ve had time to mean something. What I’m watching first:
Invite acceptance rate
Wish creation per active account
Contribution completion rate on wishes
The under-funded rate
How often the fallback fires determines how much that flow matters.
Reflection
This is the widest role I’ve held: design, prioritization, QA, and tooling at once, coordinating 12 people. The lesson so far: at a pre-launch startup, the design system, the QA workbook, and the roadmap are one job.
Project takeaways.
01
Start every product on paper
Every product on this page began as a PRD, became FigJam user flows, and only then grew from sketches to wireframes to hi-fi on the design system.

Proficiency in FigJam flow mapping
02
Enforce consent wherever the data goes
Sharing moved from one setting per list to per-item visibility with a four-tier audience model, held consistently in the UI, the database policy, and every public share link.
Proficiency in consent-first information architecture
03
Ship the design system as an AI contract
The Figma system, from tokens to email templates, was exported into a CLAUDE.md that every AI coding session loads first, so design review starts from already consistent.

Proficiency in Figma variables and AI-native handoff
04
Build QA against the real routes
A 144-case document was restructured against the actual codebase into a 308-case workbook across 9 sections, with Asana intake turning every tester report into a routed developer task.
Proficiency in running a QA operation
Next case study
One Big Wish: behind the gate
Read the case study →
