Open to product and project roles

Hello,

Hello,

Harsh Upadhyay

Harsh here!

Harsh here!

Product and project manager who designs and builds

Product and project manager who designs and builds

Thirteen open blockers, one shippable V1.

DadWell is a wellbeing app for new and expectant fathers. I took it from an unbounded scope and a legal minefield to a locked V1 on a date, closing the blockers one at a time and putting an owner against every deferred item.

Role

Product and delivery lead

Timeline

2026

Team

A product owner and two app developers, run by me

Live

dadwell.app ↗

The DadWell app on a phone, the home screen reading Morning, James, with the daily check-in card and a father holding a scan photo

01

The problem

DadWell had a clear reason to exist and no boundary around it. The founder wanted an app that supported fathers through pregnancy and the first year, and every conversation added something: mood tracking, community, weekly guides, a partner account, an EU launch.

Underneath that sat a harder problem nobody had costed. The product handles health data about a pregnancy, has a community feature, is sold on subscription and was heading for two jurisdictions at once. That's a stack of legal obligations, and none of them had been written down.

02

What I did

I turned the compliance risk into a document before it became a delay

I wrote up every legal and technical blocker as a numbered list with an owner and a decision needed, and took it to the founder as a deck rather than a conversation. There were thirteen items, each one fact-checked against the primary source rather than a summary, which caught three of my own claims being wrong before they reached him.

I cut the EU out of V1

Shipping into two jurisdictions doubled the compliance work for a product that hadn't proven anyone wanted it. I proposed UK only for V1 and moved the EU into V2. It was the single decision that made the launch date real.

I kept the change request honest, including the parts that were already ours

When the founder asked what the extra work involved, the admin panel and the moderation work were already inside the agreed scope. Leaving them in the change request would have inflated it. They came out, and what went back was smaller than it could have been. Scope discipline runs both ways, or it isn't discipline.

I designed the launch offer as a product decision, not a discount

Founding 500 runs at £49.99 a year with fifteen months for the price of twelve, no free trial, and a fourteen day refund by email. Leaving the trial out was deliberate, because a trial on a subscription this cheap costs more in churn admin than it wins in signups.

The scope did not shrink because we designed faster. It shrank because we decided what not to build.

03

How I ran it

I ran this with a product owner and two app developers, and it held together on two habits. The board got reshifted every Monday, so the week started with an agreed order rather than an argument about one. Every Friday one written update went out in the same four parts: shipped, next, need from you, at risk.

Written updates beat calls here, because a template can be filled in by whoever actually did the work, and because “at risk” is far easier to write down than to say out loud on a call. It's also the line that saved the launch date. The EU question sat under it for three weeks before we agreed to cut it.

The thirteen blockers each carried an owner and a date, and none of them was allowed to close until the answer was written down.

04

The journey

A father arrives tired, so the product asks for as little as possible before it gives him something back. Onboarding takes a name and a stage, expecting or new dad, and asks for consent on its own screen rather than burying it in a tick box. From there the home screen carries one thing to do today and where he is in the forty weeks.

Everything else hangs off four places. The weekly guide is the spine, with one entry for each of the forty weeks. The daily check-in is the smallest input I could design, a single tap on whether it was a good day, an okay one or a hard one. The library holds the guides he can reach for out of sequence. The community is the one place other fathers appear, and it's moderated, because an open feed on a wellbeing product is a liability rather than a feature.

Settings is where the compliance work surfaces as product rather than as a policy page. Consent management, privacy rights and notification control are screens a father can actually reach and change. Behind all of it sits the admin panel, so the team edits guides, resources and moderation without a developer in the loop.

05

What shipped

V1 was locked and handed over build ready, carrying onboarding, weekly guides across forty weeks, the subscription paywall, the notification set mapped to the admin panel, and a moderated community, each one specified against the blocker it closed. The product site is live at dadwell.app and the build sits with their team.

06

Impact

User states in V1, expecting and new dad

2

Open blockers at scope lock

13 to 0

Markets in V1, with the EU deferred

UK only

Weekly guides written for V1

40

07

The work

The daily check-in adapting: three moods to pick from, a longer response when the day was tough, and after a pregnancy loss the mood buckets are removed entirely and replaced with specialist support
Privacy as product: consent managed per permission, the export and deletion rights reachable in the app, and a delete warning that says exactly what goes
DadWell home screen, a morning greeting with today's check-in and this week's guide
The guide library, with recently added guides listed
The admin panel, showing what the app displays to a father
The admin preview, This is what he sees, before a resource is saved
The same product in dark mode, the home screen, the daily check-in with its three answers, and the guides library
The admin dashboard, showing active dads, new signups, daily check-ins and trial conversion, with recent activity and system health beside them
The guide editor, where the team writes a weekly guide in blocks, with the publishing controls and version history alongside
The analytics view, putting daily active dads, trial conversion and community retention next to each other rather than on separate pages
Linux Libertine, the primary typeface, used for all headlines at minus two percent tracking
The brand strategy and its four pillars, support, trust, editorial and clarity
The unhappy paths: a sign-in lockout reframed as a pause rather than a punishment, a declined card that states nothing was charged, and a trial ending without losing the check-ins
The onboarding consent screen beside the privacy rights page, where the eight rights are listed as things a father can act on rather than as a policy to read
The forty week calendar, showing week seventeen of forty
The community feed, where other fathers post
The admin panel choosing how a resource opens, phone, dial or web link
The first three onboarding steps, asking where a father is in it, when the baby is due to the nearest month, and his partner's name, with a doing this solo option underneath
The settings a father can reach and change, notification control, check-in reminders, and privacy with consent and data download
The moderation queue, where the team reviews reported posts and can warn, hide or ban, with the reason recorded against each action
The weekly content planner covering all forty weeks, so the team can see which weeks have a guide assigned and which are still empty
The DadWell logo in light and dark, the wordmark, the stacked lockup and the DW mark
The colour palette with every hex and RGB value, from sky blue and dusty olive to deep black
The daily check-in adapting: three moods to pick from, a longer response when the day was tough, and after a pregnancy loss the mood buckets are removed entirely and replaced with specialist support
The unhappy paths: a sign-in lockout reframed as a pause rather than a punishment, a declined card that states nothing was charged, and a trial ending without losing the check-ins
Privacy as product: consent managed per permission, the export and deletion rights reachable in the app, and a delete warning that says exactly what goes
The onboarding consent screen beside the privacy rights page, where the eight rights are listed as things a father can act on rather than as a policy to read
DadWell home screen, a morning greeting with today's check-in and this week's guide
The forty week calendar, showing week seventeen of forty
The guide library, with recently added guides listed
The community feed, where other fathers post
The admin panel, showing what the app displays to a father
The admin panel choosing how a resource opens, phone, dial or web link
The admin preview, This is what he sees, before a resource is saved
The first three onboarding steps, asking where a father is in it, when the baby is due to the nearest month, and his partner's name, with a doing this solo option underneath
The same product in dark mode, the home screen, the daily check-in with its three answers, and the guides library
The settings a father can reach and change, notification control, check-in reminders, and privacy with consent and data download
The admin dashboard, showing active dads, new signups, daily check-ins and trial conversion, with recent activity and system health beside them
The moderation queue, where the team reviews reported posts and can warn, hide or ban, with the reason recorded against each action
The guide editor, where the team writes a weekly guide in blocks, with the publishing controls and version history alongside
The weekly content planner covering all forty weeks, so the team can see which weeks have a guide assigned and which are still empty
The analytics view, putting daily active dads, trial conversion and community retention next to each other rather than on separate pages
The DadWell logo in light and dark, the wordmark, the stacked lockup and the DW mark
Linux Libertine, the primary typeface, used for all headlines at minus two percent tracking
The colour palette with every hex and RGB value, from sky blue and dusty olive to deep black
The brand strategy and its four pillars, support, trust, editorial and clarity

The states first, because that is where the work is. Then consent and the privacy rights, written to be used rather than agreed to. Then the app itself, the home screen, the forty week calendar, the guide library and the community, with the admin panel and its preview behind them. Then the system underneath it all.

08

Go deeper

Design system and Figma

The tokens are semantic and bound throughout rather than hardcoded, so a colour change propagates instead of needing a sweep. Light and dark are built at section level. The brand font couldn't be written through the API, so the swap runs through a plugin workaround that is documented for whoever picks the file up next.

Build and handover

It's a Flutter app on a custom web CMS rather than an off-the-shelf one, which we chose after a build-versus-buy comparison, with RevenueCat for subscriptions and an admin panel for content and moderation. The notification set was specified as a developer-ready document, with each one drawn on a real lock screen so there was nothing left to interpret.

More

All work

→