Role
Lead, One Big Wish
Team
Founder (PRD), engineers, QA testers. Initial sketches by Manish
Timeline
Aug 2026 to present
Tools
Figma, Claude Code, React, Supabase, Stripe
What One Big Wish is
The short version
Problem
Pay-now took money months before the gift was ordered, charged the 8% fee twice and refunded every shortfall.
What I decided
A pledge saves a card and a promise. Money moves once, after a three-day notice, before DADO orders the gift.
Result
Live in a 5,000-invitee private beta. 122 QA cases on the feature, 14 failures fixed before invites. Not yet measured.
Wish creation
The organiser picks the products, checks a cost summary with DADO’s 8% fee and estimated tax, and chooses what contributors can see. Contributors pledge from the wish page, as guests or members.
Creating a demo wish on desktop, and a friend pledging to a wish on a phone. The wishes, cards and people are test data.
Problem
A July audit rated the platform not ready to launch, and most findings were about money. Pay-now charged a contributor on the day they pledged, months before the gift was ordered. The 8% fee sat inside the goal and again on top, so a wish cost 1.1664 times the goods. A wish that fell short meant refunding everyone.
Decision 01
Why
Three models were on the table: pay now, hold the money, or authorize then charge. Holding money makes DADO an escrow, which its purchasing-agent role forbids. A saved card and a mandate let a pledge wait months, then be charged in one announced run.
What it cost
A pledge is less certain than a payment. The organiser’s bar can go down, so it says pledged. Being charged into a shortfall is disclosed up front.
Pledging on desktop with a test card. Nothing is taken today, and the review screen spells out the authorization before the contributor agrees.
Decision 02
Why
Under pay-now, what a wish had raised was one column. Under pledges it is two: what is promised and still live, and what has been taken. Authorizations got their own table and states, and contributions stay the record of money taken.
What it cost
Every progress bar, receipt and email had to choose which number it shows, and say so.
The console’s pledges tab: promised, in flight, collected, in grace, needs reconciliation. Contributor names are blurred.
Decision 03
Why
One database function moves every pledge from authorized to notice sent to charging, and refuses charging until the notice is three days old. Those three days are one named constant that the terms, the disclosure, the email and the charge job all read.
What it cost
Rules in the database are harder to change: moving the notice period means a database change, not a quick edit. Operations now runs a charge batch, so I rebuilt the console from a blank page: 18 tabs. Admins sign in twice, because the console has its own email code.
One demo wish in the console. A new wish waits for a first check on price and delivery, and contributors cannot be charged for a wish that was never checked.
Decision 04
Why
Every merchant delivers differently, so DADO could not calculate delivery for a wish on its own. Before a wish could go live, an admin looked up delivery and entered it by hand, one of three manual checks. Henry Labs now supplies delivery, and it works with affiliate links, so that check left the admin queue.
What it cost
One more vendor in the path to a live wish. A delivery price the team used to update by hand now comes from Henry Labs.
Before, a wish went through three manual checks in the console: delivery price, the money pot and charging cards, and placing the order. Now it goes through two, and the delivery price arrives from Henry Labs.
Decision 05
Why
Cancelling a short wish meant refunding everyone. Now a failed charge moves that one pledge into grace and the rest of the run continues. An under-funded wish resolves with a brand gift card for what was collected, or the organiser tops up.
What it cost
Contributors can be charged into a shortfall, so that sentence comes first on the screen. A Visa card was ruled out: it is cash by another name.
Gift cards reaching a member as notifications. Names are blurred.
Decision 06
Why
A pledge is a promise against a specific gift at a price. A database trigger locks the title, story, items, goal and date at the first pledge, while invites and privacy stay open. A stale tab returns to the wish instead of a server error.
What it cost
Organisers lose the freedom to fix a typo after the first friend pledges. I explained the trade to the founder, who accepted it.
The organiser’s manage page. What happens next, and the line that the details lock in at the first pledge.
Also decided
Pay what you pledge. No fee or tax is added at pledge time. The fee comes out of the pot, and the goal includes estimated tax and shipping.
Consent is the words. The record stores the exact sentence the person saw, and a test keeps the server copy and the screen identical.
Withdraw before the notice, nothing charged. Guests withdraw from the link in their email, without an account.
An honest cost summary. Subtotal, DADO’s 8% fee and estimated tax. A tax rate of zero is never printed as a figure.
The organiser sets privacy. Names, amounts and totals can be hidden, and an invitation-only wish stays out of public discovery.
A child is never a user. A wish for a minor stores a first name only and is never public.
Apple Pay and Google Pay. Contributors can pledge with the wallet already on their phone, as well as a card.
Refunds and a top-up step. Refunds are part of the flow, and an organiser can top up a wish that falls short.
The console asks for its own email code. Never an SMS.
Full decision traces available on request.
Outcome
Pledge-to-charge conversion, withdrawal and shortfall rates will exist after the first charge runs. Until then, this is what shipped and what the team’s testing found.
5,000
invitees in the private beta
122
QA cases on One Big Wish, run by the team
14
failures, all fixed before the invitations
18
console tabs, designed and built from a blank page
8
money rules enforced in the database
Reflection
The hardest sentence was about being charged into a shortfall. Writing it on day one would have shaped the model faster.
What I kept
On a money product, the copy is the contract. Every sentence on the contributor’s screen is a promise the system has to be structurally unable to break.
More from DADO
Case study 1 · Money
One Big Wish
Group gifting where no money moves until the gift is real.
You are here
Case study 2 · Trust
Accounts
A personal record of gifts, connections, occasions and memories.
Read Accounts →
Case study 3 · Editorial
The Edit
Gift guides and seasonal editions, kept current all year.
Read The Edit →


