In numbers
The problem
The founder brought the problem: keeping track of a parent's health when you live in different countries.
- Lab reports arrive as photos in WhatsApp, often late at night because of time zones, and get lost.
- Siblings each hold different reports, so no one can see whether a number is going up or down.
“My doctor always asks for the old reports and I bring a big bag.”
v1 does one thing well: turn a photo of a lab report into blood-marker trends. No medical advice.
The bets we made
A live product, not a prototype, in two weeks. That shaped every call.
A web app, not native apps
No app store review, and one codebase for phone and desktop, installable to the home screen.
Design directly in code
I designed in Next.js and TypeScript with Claude Code, so every review was a working build, not a mock-up.
Show numbers and their source, never advice
Value, unit, date and the lab's own range, each linked to the report it came from. What it means is left to the doctor.
How I took it from idea to beta
Two weeks to a live beta, then real families.
Kick off with the founder
One workshop to agree the problem, who it's for, what success looks like in two weeks, and what's out for now.
WithFounderPOBDMBE
Kickoff board: the problem, success in two weeks, assumptions and v1 scope.
Research and a hypothesis journey map
I drafted the market scan and personas with Claude, then checked every claim against real sources and tagged anything unconfirmed as an assumption. Before any users, I mapped where it hurts most: a blurry photo at 11 pm.
Market and context research. The real competitor turned out to be the family chat. Journey map, hypothesis v1: six stages from the blood test to sharing with a doctor.
Write the rules once, then design in code
The product rules went into the PRD and a CLAUDE.md file: who it's for, no medical advice, mobile first, design tokens and voice. I designed the hi-fi screens in code against them, with short daily check-ins and decisions written down the same day.
WithFounderPOBE
The product context Claude Code reads before building any screen.
Walk real families through it, then fix what broke
Three moderated sessions with 6 people, 4 adult children abroad and 2 parents over 60, doing 6 core tasks on their own phones. I took five issues to the team with a proposed change for each, and all five were live within a week.
WithTest participantsPOBE
Round 1 findings: what worked, what confused people and what we changed.
A month-long beta, and deciding v2
Families are using Apta for a month in their real lives. Alongside, I ran a v2 prioritisation workshop with the same group and started a second journey map built from what beta families actually do.
WithFounderPOBDMBE
What testing changed
6 of 6 testers added a report from a photo without help. What confused people changed the product, including one of my own rules: amber for out-of-range values.
- Amber “outside range” read as “something is wrong”4 of 6 peopleA neutral tag, “Outside this lab's range”, and a line under every chart pointing to a doctor for meaning.
It's orange, so is Mum okay? What should I do?
- Medical abbreviations weren't recognised3 of 6 peoplePlain name first, lab name second. Different lab names for the same marker merge into one trend.
I don't know what TSH is. I thought it was a typo.
- “Confirm values” felt like a test3 of 6 peopleRenamed to “Check what we read”. Only unsure values are highlighted, with the photo beside them.
Do I have to check all of these? What if I miss one?
- The doctor link felt risky to share2 of 6 peopleA sharing sheet showing who can view, a 7-day default expiry and “Stop sharing”.
Can anyone see Dad's reports forever?
Working with stakeholders
Two weeks left no room for long review cycles, so alignment had to be quick, regular and written down.
Who I worked with, and on what
Blockers, and how I moved them
- A live product, not a prototype, in two weeksAn installable web app instead of native apps, so no app store review, designed straight in code with no handoff step.
- It must never read as medical adviceNumbers and lab ranges only, written into CLAUDE.md as a hard rule, then softened further after testing.
- Health data privacy from day oneSharing designed around control: who can view, a 7-day expiry and one-tap “Stop sharing”.
Where it is now
Apta is live in beta with the round-one fixes in. Families can:
- Add lab reports and blood tests, and see markers as trends over time
- Keep prescriptions, diagnosis reports and scans in one place
- Track appointments and a full health history
- Share a doctor view: the full history from one link
What's next, and why
The v2 workshop started from round-one testing, not a wishlist.
A simpler upload for parents
Two testers asked for bigger text and fewer steps. If parents upload themselves, the family chat drops out.
Shared access for siblings
“My brother has half the reports and I have the other half.” Families share the job, so the record should be shared too.
Still out: advice, doctor chat, wearables
Each one either risks reading as medical advice or adds build time before we know families keep coming back.
How the beta is going
Over the next month we want to learn whether families keep uploading after the first report, who does the uploading, and whether the doctor view gets used in real appointments. I'll add results here as they come in.
Results will shape v2.
Reflection
Designing in code meant every review was of a working product, so feedback was about how it behaved rather than how it looked. Claude sped up research, building and synthesis, but deciding what to change after testing was still a team call.