Structure and sequence, before pixels.
MVP · 4 flows · 17 screens. Everything here is deliberately unresolved — dashed means spec, and none of it has earned a solid border yet.
scope: onboarding · scare · booking · dashboard
author: Nikhil Ashok
context: IPL capstone · 3-min case summary →
Flow 1 — Onboarding
5 screensGoal: breed → age → health history → generated schedule → first reminder set. Activation: 2+ reminders set in week 1.
Your first 180 days, guided.
Set up your dog in under 2 minutes.
Single CTA. No carousel. Explicit time-to-value promise — the persona is anxious & time-poor.
What breed is your dog?
Popular in Bengaluru
"Indie / Mixed" is first, not buried — most common real-world case. "Not sure yet" prevents a dead-end (falls back to generic age-based default).
How old is Bruno?
Exact DOB (optional)
Age band is mandatory — biggest single input to vaccination schedule. Exact DOB optional to avoid friction.
A few quick things.
Vaccinated so far?
Spayed / neutered?
Known conditions (optional)
"Don't know" is a first-class answer — forcing false precision corrupts the schedule. Conditions = flag for vet, not parsed in v1.
✓ Bruno's plan is ready
Next up
DHPP booster
due in 9 days
Deworming
due in 24 days
Rabies booster
due in 6 weeks
Activation moment. Reminders are pre-computed and one tap each. Aim: 2+ set before user leaves onboarding. Reaching this screen = onboarding complete.
Flow 2 — Health Scare ("My dog seems unwell")
6 screensGoal: symptom entry → triage band → vet directory if escalated. The trust-defining flow. Wrong triage in either direction breaks the entire value prop.
Something wrong with Bruno?
Tell us what you're seeing.
Describe it
Chips, not typing — panicked owner taps. Bleeding & Breathing trouble short-circuit straight to RED triage.
A couple of questions.
How long has this been going on?
Is Bruno still drinking water?
Max 2–3 questions. Each must change the output or it doesn't earn its place. Duration + hydration = highest-signal for GI / lethargy cases.
Home care
Manageable at home for now.
What to do
·Small sips of water, no food 4 hrs
·Watch for further vomiting
·Keep Bruno warm and quiet
Recheck in 12 hrs.
Vet-reviewed protocol — never model-generated free text. Always shows "It got worse →" escape hatch — triage is never a locked verdict.
See a vet
Within 24 hours.
Watch for — if any appear, treat as emergency
·Blood in vomit / stool
·Collapse or shaking
·Refusing water for 12+ hrs
One obvious next action: book. Watchlist = explicit escalation path so the band is never a dead-end.
Emergency
Bruno needs care now.
While you go
·Keep Bruno still, breathing clear
·Wrap in a blanket, transport flat
·Bring any meds / vax record
vet-reviewed protocol
Two huge calls-to-action, no fluff. Three bands are mutually exclusive — colour-coded, each with exactly one obvious next action.
HSR Layout · within 5 km
Dr. Rao — Paws Clinic
1.2 km · open now · 4:30 PM
BookWhitefield Pet Care
2.1 km · 24/7
BookHappy Tails Vet
3.4 km · tomorrow
Book"✓ Verified" = the moat made visible. Default sort = Soonest, not Nearest — when escalated, time-to-care beats distance. Curated directory, not an open marketplace.
Flow 3 — Vet Booking (deliberate, not via scare)
3 screensGoal: search by location → filter (availability + verified) → in-app booking → confirmation + reminder.
HSR Layout
changeFilters
Service
"Verified only" checked by default — encodes the product's stance, user can uncheck. Service filter lets the directory serve routine bookings too, not just sick visits.
Dr. Rao
✓ VerifiedPaws Clinic · HSR Layout
★ rating shown in v1.1
Services
vaccination · general · deworming
Pick a slot
Today
Tomorrow
Ratings deferred to v1.1 — not enough booking volume in v1 to show honest ratings; a fake / empty rating erodes trust. Inline slot picker — no separate calendar screen for the common case.
Booking confirmed
Dr. Rao · Paws Clinic
Today, 4:30 PM
1.2 km · HSR Layout
Reminder is auto-set and shown as already-done (not offered as a task). Booking is a North Star input — confirmation also writes to the pet's timeline automatically.
Flow 4 — Daily Check-in / Dashboard
3 screensGoal: BHI score → upcoming tasks → weekly digest. The retention surface — landing screen every session after onboarding.
BHI · Bruno's health index
82 / 100
Thriving
7-day trend
Today
Coming up
DHPP booster — in 9 days
ViewBHI = the proactive signal that differentiates from a commerce app. ⚠ scare entry is global & permanent — the moment of fear is one tap from anywhere.
Quick log — Bruno
Appetite
Energy
Poop
Note (optional)
Three-point scales, not numeric — daily logging must be sub-10 seconds or it won't become a habit. This is the seed of the longitudinal BHI dataset.
BHI held steady at 80–82
Highlights
Next week
·DHPP booster due
·Try a longer morning walk
Weekly re-engagement hook (push → this screen). "Share with my vet" = bridge from owner-logged data to the verified-vet supply side.
Cross-flow notes
⚠ scare entry is global — one tap from any screen.
"Don't know" / "Not sure" is valid everywhere — first-time owners lack info; forcing precision pollutes data.
Reminders are set, not offered — pre-set and shown as done wherever logical.
Verified badge appears anywhere a vet does — cheapest, most repeated expression of the moat.
No commerce surface in v1 — no cart, no buy button, no product feed.