Case study · DADO · 2026

This case study is from a private beta

It documents shipped work at DADO, including internal tooling and real money flows. The access word is on my resume.

Need the word? Email atharva2089@gmail.com with the subject "DADO access". Same-day reply.
Back to the DADO overview

The Edit and Wishlists: a luxury magazine kept in season all year. Ten seasons live, eleven cities, and a wishlist that tells the truth.

The Edit and Wishlists: a luxury magazine kept in season all year. Ten seasons live, eleven cities, and a wishlist that tells the truth.

The Edit and Wishlists: a luxury magazine kept in season all year. Ten seasons live, eleven cities, and a wishlist that tells the truth.

Role

Lead, The Edit and Wishlists

Team

Founder (PRD, type and colour system), four engineers

Timeline

Aug 2026 to present

Tools

Figma, Airtable, Claude Code, React, Supabase, Vercel

worldofdado.com
worldofdado.com
9:41

The Edit on desktop, tablet and phone, recorded on staging.

The short version

Problem

The Edit had to feel like a luxury magazine and stay current all year. Staging held ten seasonal editions, production held one, and an automated check said everything was fine.

The Edit had to feel like a luxury magazine and stay current all year. Staging held ten seasonal editions, production held one, and an automated check said everything was fine.

What I decided

Run The Edit as one system: Airtable feeds the catalogue, with one navigation, one city template and one item model. Then read every page like a reader before it ships.

Run The Edit as one system: Airtable feeds the catalogue, with one navigation, one city template and one item model. Then read every page like a reader before it ships.

Result

Ten seasons live with zero dead links in the nav, eleven city Editions, a catalogue that refreshes from Airtable every six hours, and a wishlist that tells the truth.

Ten seasons live with zero dead links in the nav, eleven city Editions, a catalogue that refreshes from Airtable every six hours, and a wishlist that tells the truth.

The brief

Premium, current and in season. Three things The Edit has to be, every week of the year.

Premium, current and in season. Three things The Edit has to be, every week of the year.

Premium, current and in season. Three things The Edit has to be, every week of the year.

The Edit is where DADO shows taste before it sells anything. I lead it: the luxury layouts, the pages, and keeping every product and gift guide fresh as the year turns.

Premium layouts

Products, gift guides and editorials set like a luxury magazine: large imagery, quiet type and room to breathe.

Products, gift guides and editorials set like a luxury magazine: large imagery, quiet type and room to breathe.

Always current

Products and guides change every week. Pages have to pick up new products and retire old ones without anyone rebuilding them.

Products and guides change every week. Pages have to pick up new products and retire old ones without anyone rebuilding them.

In season, everywhere

A calendar that runs all year and covers the occasions DADO members celebrate around the world, not one country’s holidays.

A calendar that runs all year and covers the occasions DADO members celebrate around the world, not one country’s holidays.

The Calendar on production

All seasonsHalloweenDiwaliThanksgivingGift & GiveHanukkahChristmasNew YearWedding Season

The Calendar menu on production. It runs through the whole year, from Halloween, Diwali and Thanksgiving to Hanukkah, Christmas, New Year and wedding season, so members who celebrate different things all find their season.

The problem

A magazine that sells has to feel premium and stay current. The founder wrote the brief. I carried it into pages.

A magazine that sells has to feel premium and stay current. The founder wrote the brief. I carried it into pages.

A magazine that sells has to feel premium and stay current. The founder wrote the brief. I carried it into pages.

The founder’s PRD puts six franchises on one item model, so a story can end on something you can wish for, and sets one test: a List reads in ninety seconds. By September a colleague’s ten seasonal editions sat on staging. Production held one, and an automated check that only asks whether a page loads called it clean.

worldofdado.com

The Edit on desktop and on a phone, from the homepage through the seasonal Edits and the city Editions.

The catalogue

Airtable holds the catalogue. I built the sync and the console that runs it, and every page reads from it.

Airtable holds the catalogue. I built the sync and the console that runs it, and every page reads from it.

Airtable holds the catalogue. I built the sync and the console that runs it, and every page reads from it.

Products, brands, gift guides and lists live in Airtable, so anyone on the editorial side with access can add or change them without touching a page. The admin console pulls Airtable in on a schedule and shows what it synced. Affiliate products are managed the same way, through the console and Airtable.

01 · Airtable
Source of truth
Products, brands, gift guides and guide items. Editors with access add and update rows here, not on the pages.
02 · Admin console
Catalogue
Products marked Source: Airtable with a Sync now button, a sync history, Missing links and Card brands. The sync also runs on its own every six hours.
03 · The Edit
Pages
Gift guides, editorials and product pages read the synced catalogue, affiliate links included. A product Airtable drops goes inactive, and a failed sync leaves the last good content in place.
DADO console

The console’s Catalogue on staging: products from Airtable with a Sync now button, the sync screen and its history, Missing links and Card brands.

59

gift guides

479

brands

678

gift guide items

665

products, 494 of them live

Staging counts from Airtable at the time of recording, 24 September 2026.

Decisions

Four calls that turned a brief into a magazine on production.

Four calls that turned a brief into a magazine on production.

Four calls that turned a brief into a magazine on production.

Decision 01

I carried the brief’s franchises into one navigation, with the Calendar as the index of every season.

I carried the brief’s franchises into one navigation, with the Calendar as the index of every season.

I carried the brief’s franchises into one navigation, with the Calendar as the index of every season.

Why

The PRD sets The List, DADO Presents, Editions and gifts on one platform and one item model. The Edit sits in the global nav beside Browse and One Big Wish, and every card carries the same actions.

What it cost

The homepage reads its own data file, and two files can disagree about what is current. The September catch-up was one such disagreement, fixed by hand.

The Calendar: ten seasons in running order
01Featured
Halloween
October
02
Diwali
Early to mid November
03
Thanksgiving
November
04
Black Friday
Late November
05
Cyber Monday
The Monday after
06
Giving Tuesday
The Tuesday after
07
Hanukkah
December
08
Christmas
December
09
New Year
Late December
10
Wedding Season
April to September
01Featured
Halloween
October
02
Diwali
Early to mid November
03
Thanksgiving
November
04
Black Friday
Late November
05
Cyber Monday
The Monday after
06
Giving Tuesday
The Tuesday after
07
Hanukkah
December
08
Christmas
December
09
New Year
Late December
10
Wedding Season
April to September
01Featured
Halloween
October
02
Diwali
Early to mid November
03
Thanksgiving
November
04
Black Friday
Late November
05
Cyber Monday
The Monday after
Each edition's window in the year
Jan to Mar: nothing in season, the next edition to open leads
The Calendar: ten seasons in running order
01Featured
Halloween
October
02
Diwali
Early to mid November
03
Thanksgiving
November
04
Black Friday
Late November
05
Cyber Monday
The Monday after
06
Giving Tuesday
The Tuesday after
07
Hanukkah
December
08
Christmas
December
09
New Year
Late December
10
Wedding Season
April to September
01Featured
Halloween
October
02
Diwali
Early to mid November
03
Thanksgiving
November
04
Black Friday
Late November
05
Cyber Monday
The Monday after
06
Giving Tuesday
The Tuesday after
07
Hanukkah
December
08
Christmas
December
09
New Year
Late December
10
Wedding Season
April to September
01Featured
Halloween
October
02
Diwali
Early to mid November
03
Thanksgiving
November
04
Black Friday
Late November
05
Cyber Monday
The Monday after
Each edition's window in the year
Jan to Mar: nothing in season, the next edition to open leads
worldofdado.com
The Edit Calendar: ten seasons from Halloween to Wedding Season, Halloween featured

The Calendar on production: ten seasons in order, the featured one above. Before the move, this index rendered the wedding edition.

Decision 02

I built the city Edition as one template reading one data file, so a new city is one more entry.

I built the city Edition as one template reading one data file, so a new city is one more entry.

I built the city Edition as one template reading one data file, so a new city is one more entry.

Why

The PRD describes City Guides as numbered issues. The first six cities shipped with three sections each: The Hotels, The Tables and The Addresses. A colleague later added five more cities as data entries, with no new pages.

What it cost

A city that wants its own layout has to earn a template change, and none has yet. One template bug reaches all eleven pages at once.

One layout: the city template
DADO Editions · The Grand Tour
Paris
The city as its residents keep it.
06 chapters
London
Where understatement was invented.
03 chapters
Tokyo
The city of small perfect rooms.
03 chapters
New York
The city of second chances and late dinners.
03 chapters
Chapters
01Where to stay
02Morning rituals
03The table
04The pilgrimage
05Quiet discoveries
06Where to shop
01The Hotels
02The Tables
03The Addresses
01The Hotels
02The Tables
03The Addresses
01The Hotels
02The Tables
03The Addresses
One entry: the city list
slug"paris"
city"Paris"
heroImageparis.webp
sections6
slug"london"
city"London"
heroImagehero-london.webp
sections3
slug"tokyo"
city"Tokyo"
heroImagetokyo.webp
sections3
slug"new-york"
city"New York"
heroImagenew-york.webp
sections3
Same template, next entry
Paris/dado-editions/paris
London/dado-editions/london
Tokyo/dado-editions/tokyo
New York/dado-editions/new-york
Eleven cities, one template. A new city is one more entry.
One layout: the city template
DADO Editions · The Grand Tour
Paris
The city as its residents keep it.
06 chapters
London
Where understatement was invented.
03 chapters
Tokyo
The city of small perfect rooms.
03 chapters
New York
The city of second chances and late dinners.
03 chapters
Chapters
01Where to stay
02Morning rituals
03The table
04The pilgrimage
05Quiet discoveries
06Where to shop
01The Hotels
02The Tables
03The Addresses
01The Hotels
02The Tables
03The Addresses
01The Hotels
02The Tables
03The Addresses
One entry: the city list
slug"paris"
city"Paris"
heroImageparis.webp
sections6
slug"london"
city"London"
heroImagehero-london.webp
sections3
slug"tokyo"
city"Tokyo"
heroImagetokyo.webp
sections3
slug"new-york"
city"New York"
heroImagenew-york.webp
sections3
Same template, next entry
Paris/dado-editions/paris
London/dado-editions/london
Tokyo/dado-editions/tokyo
New York/dado-editions/new-york
Eleven cities, one template. A new city is one more entry.
worldofdado.com
The Paris city Edition: The city as its residents keep it, six chapters

The Paris Edition, one of eleven cities rendered by the same template.

Decision 03

I moved a season of chapters to production by reading every page, because a page that loads can still be broken.

I moved a season of chapters to production by reading every page, because a page that loads can still be broken.

I moved a season of chapters to production by reading every page, because a page that loads can still be broken.

Why

An automated crawl said everything was clean. Reading the pages found 18 dead links on the Gift & Give hub, 7 more in the mobile menu, 33 images that loaded a web page instead of a photo, and 11 pages giving search engines the wrong address.

What it cost

My link checker only compared the start of each address. It now checks every part and lists its six known false alarms. The image check opens every file, so it runs slower.

Ten seasonal editions
/black-fridayOK
/christmasOK
/cyber-mondayOK
/diwaliOK
/giving-tuesdayOK
/halloweenOK
/hanukkahOK
/new-yearOK
/thanksgivingOK
/wedding-seasonOK
Automated link checkall clear
Read like a reader: what the check missed
0dead links, on the Gift & Give hub, 7 more in the mobile drawer
0images, loaded a web page instead of a photo
0pages, gave search engines the wrong address
all fixed before it went live

Ten seasonal pages that all loaded without an error, and what reading them found. Everything was fixed before it shipped.

Decision 04

I folded two kinds of list into one, and made a delete say what actually happened.

I folded two kinds of list into one, and made a delete say what actually happened.

I folded two kinds of list into one, and made a delete say what actually happened.

Why

Collections and wishlists had drifted into two separate stores for the same idea, and a filter sent every birthday list to Collections. A delete could report success while the list stayed on screen, because the database said yes even when nothing was removed.

What it cost

The old tables stay so a rollback is possible, and merged lists start private. Every delete makes one extra check.

Before · one word, two separate lists
Collections
left over, no screen saved here any more
Wishlists
the tab only showed lists without an occasion
every birthday list sent to Collections
→
Shipped · one list, one word
Wishlists
each list keeps the type the person chose
collections folded in, kept private
the old data kept, so the change can be undone
Delete, before
A collectionstill on screen
Collection deleted
The app said deleted even when nothing was, because the database reports success either way.
Delete, shipped
scoped to the ownerconfirms what was removed
The collection was not deleted. It may already be gone, or belong to another account.
A delete that did nothing now says so. It costs one extra check.

Before and after: one list with a type, and a delete that says when nothing changed.

Also decided

01

A pasted link brings its colours and sizes to a wishlist, through the same product page a wish uses.

02

The option picker collapses clones: H&M’s 58 rows became 46 real choices, and Dior’s 17 identical tiles one size axis.

03

The picker answers in 10.8 seconds, down from 39.4, and says what it is doing after six seconds.

04

Each edition’s chapters take its own photograph. 25 look-alike pages fixed; covers went from 4.5MB of JPEG to 1.9MB of WebP.

05

One line fixed in the city template gave all eleven city pages the right address for search engines.

06

The Calendar index came to production with the season, with 32 automated checks that flag it when it falls out of date.

Full decision traces available on request.

Outcome

Ten seasons live, eleven cities, one catalogue behind every page.

Ten seasons live, eleven cities, one catalogue behind every page.

Ten seasons live, eleven cities, one catalogue behind every page.

10

seasonal editions on production, up from one

11

city Editions on one template

0

dead links in the seasonal nav after review

1

product page for a wish and a wishlist pick

Shipped in the private beta. Reading is not measured yet, so whether a List reads in ninety seconds is still untested.

Reflection

Every real problem in the September move was invisible to an automated check and obvious on the page.

The type and colour system is the founder’s, the List template is Somava’s and the chapters were written by a colleague. Mine is the lead, the pages I built and the state they shipped in.

What I kept

Read the page, not the report.

Read the page, not the report.

The image check that opens every file should have existed before the first chapter shipped, before thirty-three images broke.