DADO

A luxury gifting platform where people fund one wish together.

What is DADO

DADO is a gifting platform built around a single idea: instead of buying someone a gift on your own, you create a wish for one meaningful thing, and the people who care about that person contribute toward it together.

A wish holds the product, the story behind it, a delivery date, and a guest list. Contributors pledge whatever they want. Once the wish is funded, DADO buys the item and has it shipped, and if it falls short, the value goes out as a brand gift card instead.

Around that core sits a wishlist and connections layer, where people keep track of who they gift to and what those people actually want, and an editorial layer of curated seasonal chapters and gift guides that drives discovery. The whole product is positioned as a private members’ club rather than a shop: restrained, editorial, and deliberately unlike a checkout.

Role

Product Designer

Timeline

Jul 2026 to present

Scope

Design system, core product flows, editorial surfaces

Stack the design shipped into

React, TypeScript, Tailwind, Supabase, Stripe

The problem

Group gifting products usually feel like fundraising tools.

There is a progress bar, a share button, and a running total that makes generosity look like a campaign. That framing works for charity. It works badly for a birthday.

DADO started from a different premise: someone should be able to ask for one meaningful thing, and the people who care about them should be able to contribute toward it without the whole exchange feeling transactional. That created the central design tension I worked against for the entire project.

The design tension

The mechanics underneath are payments infrastructure, but nothing on the surface is allowed to feel like checkout.

What I designed

Three connected product areas, held together by one design system.

One Big Wish: you make the wish, your people fund it

One Big Wish turns a special occasion into a single wish. When there is something you really want, for a birthday, a wedding, a new home, you create a wish for it on DADO and invite the people in your life to contribute toward it. Instead of a pile of small gifts you never asked for, everyone puts money toward the one thing you did.

Your wish holds the product you chose, the story behind it, where and when it should arrive, and who you invited. Each person opens it, reads your story, and pledges whatever they like. Nobody is charged for pledging: the card is held, and the real charge happens a week or so before the date. Once the wish is funded, DADO buys the item and has it shipped to you. If it falls short, the value reaches you as a brand gift card instead.

I designed the creation wizard as a five-step flow with a persistent stepper, so you always know how much is left before you commit anything, and the contribution flow for both signed-in users and guests, who make up a large share of contributors and cannot be asked to create an account first.

1

Start

2

Your wish

3

Curate products

4

Where & when

5

Invite & privacy

6

Review & confirm

7

Wish is live

One Big Wish, Start

Screen 1 of 7 · Start

My Wishes

Every wish you have asked for, in one place. Each card shows the occasion, how much has been pledged against the goal, the fulfilment date and the days left, with filters for active, fulfilled, closed and draft.

The purpose is a glance-level answer to one question: where does each wish stand? Create One Big Wish opens the wizard.

Every stage of creating a wish, from the first screen to the moment it goes live. Click a stage to see it, and scroll inside the frame to see the whole page.

Contributing: you are invited, you pledge, nothing is charged yet

Contributing is the other side of One Big Wish. Someone you know creates a wish and invites you. You open it, see the thing they are hoping for and the story behind it, and decide what you want to give. The wish page shows how much has been pledged so far, the last day you can give, and the day the gift is for.

Pledging takes four steps: choose an amount, from a small gesture to filling the gap; pick how to pay; add a note for the organiser and decide whether your name and amount are shown; then review and authorise. Nothing is charged today. The card is held, you get an email three days before the charge, and the money only moves when the gift is ordered. If you change your mind before that email, you can withdraw and nothing is charged. If the wish falls short, you are still charged what you pledged, and the recipient gets what was raised, with the rest as a brand gift card.

I designed this flow for people who arrive by a link and may never have heard of DADO. That is why guests can contribute without creating an account, the amounts are framed as gestures rather than prices, and the authorisation is written in plain language on the screen where you commit, not buried in the terms.

1

The wish

2

Amount

3

Payment

4

Add a note

5

Review

6

Thank you

Contributing, The wish

Screen 1 of 6 · The wish

What an invited person opens

The curated items fill the top of the page, with the occasion and who invited you. Below it: how much has been pledged, the last day to give, the day the gift is for, and who has given so far.

The purpose is to make the ask read as an invitation into someone’s story, not a fundraising page.

Every stage of contributing, from opening the wish you were invited to, to the thank-you screen. Click a stage to see it, and scroll inside the frame to see the whole page.

Editorial

A curated discovery layer of seasonal chapters and gift guides, covering Diwali, Hanukkah, Christmas, Black Friday, and a large library of themed lists. These pages carry the brand more than any other surface, so they run full-bleed on their own gutter scale rather than sitting inside the centred container the rest of the product uses.

1

The Edit

2

The List Edit

3

DADO Presents

4

DADO Editions

5

Calendar

The Edit page

Screen 1 of 5 · The Edit

The magazine front door

A seasonal hero leads, followed by curated collections, Off-Script, Objects of Desire, The Definitive, and the City Guides, Seasons and Atelier chapters, before Trending Now.

Its purpose is browsing that reads like a magazine and still ends on something you can actually buy. It runs full-bleed on its own gutter scale.

The five editorial surfaces. Browsing is meant to read like a magazine and still end on something you can buy. Click a tab to see it, and scroll inside the frame to see the whole page.

Wishlists: keep what you want, decide who sees it

A wishlist is where you keep the things you want, for yourself or for an occasion. You save a product from anywhere on DADO, or paste a link from another site and DADO pulls in the details. A list can be for a birthday, a wedding, a new home, or nothing in particular.

Privacy is set one item at a time. You choose who can see each item across four levels of audience, and the same rule is enforced on the screen, in the database, and on every shared link, so a private item stays private wherever the list travels.

I designed sharing as a decision you make per item, never a switch you flip for the whole list, because the thing you are saving for yourself and the thing you want people to buy you are rarely the same.

The Wishlists page inside a DADO account

Your account · Wishlists

Everything you want, in one grid

The Wishlists tab inside your account: every saved item with its brand, name and price, a Collection tab beside it, sort and search, and Add product. The sidebar holds the rest of the personal layer: My Gifting, Occasions and Events, Connections, Gift history, Saved.

Each item carries its own audience setting, so what you keep for yourself and what you want people to buy you live in the same list without being seen by the same people.

Wishlists inside your account. Every item carries its own audience setting. Scroll inside the frame to see the whole page.

Connections: the people you gift to, and what they actually want

Connections is your circle on DADO: the people you give to, and the people who give to you. Once you are connected, you see the occasions that matter to them, the wishlists they have chosen to share with you, and a reminder before each date, so the right gift is chosen with time to spare rather than the night before. Someone who is not on DADO yet can be added by hand, so their dates are still on your calendar.

Nobody joins your circle without agreeing to it. A connection is a request the other person accepts, and nobody is added to an occasion without saying yes first, so a wishlist is only ever seen by the people its owner chose.

This is where most of the returning-user design work sat. The reason someone comes back to DADO after the first gift is that their people, their dates, and their lists are already here.

The Connections page inside a DADO account

Your account · Connections

Everyone who matters, and every reason to celebrate them

Your circle, with counts for connections and close connections, and filters for family, friends, colleagues and others. Each card shows the person, their relationship tag and a Browse gifts action; Add connections brings someone in.

The purpose is to keep the people you give to, and their dates, one click from a gift.

The connections page: your circle, their occasions, and the lists they have shared with you.

Across those areas the shipped product is roughly 139 page templates and 361 components.

The design system

The positioning is a private members’ club, not consumer e-commerce, and that only holds if the restraint is enforced rather than encouraged.

So I built the system as a set of hard constraints, documented in a single source of truth that both designers and the engineering team work from.

Two typefaces, and only two. Cormorant Garamond for everything editorial, Karla for everything functional. A fixed warm-ivory and deep-midnight palette with taupe accents, defined as semantic tokens rather than raw hex, so a component asks for secondary text and not for a colour. Zero border radius by default. No drop shadows, no gradients, no decorative icons. Whitespace does the structural work, and hierarchy comes from weight and size instead of adding a new colour.

The part I would point to as the real work is not the token list. It is that the system documents its own exceptions. Where a rule was bent, the file records what was bent, when, and why, including two legacy hex values we deliberately chose not to sweep because the visual cost of correcting them outweighed the consistency win. A design system that only records the ideal state gets quietly abandoned the first time reality disagrees with it.

139

page templates in the shipped product

361

components in the design system

2

typefaces, and never a third

0

border radius by default, on every standard component

Selected decisions

Auditing the palette against WCAG, and retiring colours that failed

The brand palette leaned on soft taupes, and when I measured them as text they did not hold up. The secondary text colour came in at 3.71:1 against white, and two others were worse, well under the 4.5:1 the standard requires for body text.

The fix was not a global darkening. I split each colour by the job it was doing. As text, the failing taupes were retired and replaced with a deeper taupe that clears the threshold on white and on our primary surface. As borders, focus rings, icons and other non-text UI, they only need 3:1, so those uses stayed exactly as they were. Accent words inside large display headings kept the original colour too, since the large-text threshold is 3:1 and that treatment is a brand signature.

Around 750 components had hardcoded the retired values directly. Those were swept to match, and the rules are now enforced by an automated contrast test in the codebase, so the palette cannot drift back. Two known near-misses are recorded in the documentation rather than quietly fixed, because both fixes were design-owner calls with real trade-offs.

The same measured approach applies to photography. White type over an uncontrolled image sits on a flat scrim whose opacity was set by compositing it over the brightest sixteenth of the image and reading the result, not by eye.

3.71:1

what the retired secondary text colour measured on white, against a 4.5:1 requirement

750

components swept off the retired values

2

near-misses recorded in the documentation rather than quietly fixed

What I would take to the next one

The strongest thing about this project is not the interface. It is that the design decisions are written down where the people implementing them actually read.

The reasoning is attached and the exceptions are named. Most design systems fail quietly, one reasonable-seeming shortcut at a time. Writing down why a rule exists is what makes it survive the next person who has a deadline.

Email

Linkedin

Behance

Instagram

Copyright @2026 Manish Durgude