PWA Prototype Specification · April 2026
MomDom.
PWA Prototype
Behavioral validation with real mothers + investor demo asset — built in 2 days, not 2 months.
Why a PWA, Not a Figma Prototype
Static prototypes hide friction. Real interaction reveals it.
A PWA opens in any browser — no App Store, no TestFlight, no install friction. You share a URL. Real interaction (tap, scroll, type) reveals friction that static prototypes cannot. Mothers can use it on their actual phone in actual daily contexts: car pickup line, kitchen counter, bedtime routine.
The aha moment hypothesis is that it occurs when a caregiver logs an update (dose administered, child picked up, symptom noted) and the mother receives the notification in real time without asking. That moment cannot be simulated in a slide deck. The prototype must make it experienceable — even with mock data.
For investors: the difference between "showing" and "experiencing" is significant. A live URL on their phone during a pitch call removes the imagination gap entirely.
Recommended Tooling
Three options, ordered by speed-to-URL. Choose based on whether the prototype will be evolved or replaced.
- Describe screens in plain English; generates React + Tailwind in real time
- Built-in Supabase — basic persistence without writing backend code
- Exports clean React code → maps to the Next.js web workspace
- One-click deploy to Lovable hosting or Vercel/Netlify
- Generates shadcn/ui + Tailwind from natural language
- Best for individual component generation; more manual assembly
- Output drops directly into the
web/workspace
- Full control; AI autocompletes inside the actual monorepo
- Produces production-quality code from day one
- Choose this if the prototype evolves into the live web app — zero rewrite needed
Screen Inventory
8 screen groups, ~15–20 individual states. All data is live — no backend wiring required. Balloon colors: Teal = Calendar, Lavender = Health, Pink = Household.
- Welcome screen with MomDom balloon logo and value proposition line
- Household profile form (name, children, primary caregiver)
- Invite a caregiver — enter name + role (co-parent, babysitter, grandparent)
- Completion: Dashboard reveal animation
- Does the 3-balloon metaphor land in under 10 seconds without explanation?
- Does onboarding feel approachable or overwhelming?
- Is "invite a caregiver" understood as multiplayer, not just contact-sharing?
- Dashboard default state — all balloons, today summary strip
- Dashboard: "Sick Day Mode" active — Calendar suppresses low-priority tasks, Health highlighted
- Dashboard: caregiver sync indicator — shows last update time from invited caregiver
- Do mothers tap a specific balloon first, or the summary strip? (navigation instinct)
- Does "Sick Day Mode" feel magical or confusing on first encounter?
- Is the caregiver sync indicator reassuring or noisy?
- Weekly calendar view with 2 mock children's events
- Add event sheet: title, child, time, recurring toggle, caregiver visibility toggle
- Recurring task confirmation card: "I'll remind you every Tuesday at 3:45 PM — confirm?"
- Caregiver view: same calendar, read-only, edit permissions hidden
- Is the recurring task setup faster than a standard calendar app?
- Does the caregiver visibility toggle feel like safety or friction?
- Does the confirmation card ("I'll remind you…") feel trustworthy?
- Child health profile: Emma, age 7 — peanut allergy, EpiPen in red bag in kitchen
- Log symptom sheet: select child, type, severity, notes, timestamp
- "Sick Day Mode activated" confirmation card after logging fever
- Caregiver view: read-only — allergy and EpiPen info prominently shown
- Dose log: "Caregiver logged: Ibuprofen 200mg at 2:15 PM — Mom notified"
- Does seeing the caregiver's real-time dose log create immediate "aha" for the multiplayer model?
- Is the EpiPen location visible enough that a babysitter would find it in an emergency?
- Does Sick Day Mode feel like the system is helping, not just recording?
- Inventory list: pantry items with quantity indicators (red = low stock)
- Add item sheet: name, category, quantity, reorder threshold
- Shopping list view: auto-generated list of low-stock items
- "+Add to Cart" placeholder button on each shopping list item
- Is the reorder threshold concept intuitive without instruction?
- Does the auto-generated shopping list save a meaningful mental step?
- Is "+Add to Cart" enough value that mothers would maintain inventory data to get it?
- Permission management: list of invited caregivers with role badges
- Edit permission sheet: toggle visibility per balloon (Calendar / Health / Household)
- Babysitter view simulation: "Preview as Babysitter" restricted dashboard
- Notification: "Grandma just logged: Kids arrived safely at 3:22 PM"
- Does the permission model feel empowering or intimidating to configure?
- Does "Preview as Babysitter" build trust in the system?
- Is the caregiver activity notification reassuring or overwhelming in volume?
- Routine suggestion: "I noticed bath time happens around 7 PM on school nights — want me to remind you? [Confirm] [Dismiss]"
- Reminder: "Soccer practice in 45 minutes — Emma's gear is in the hall closet [Got it]"
- Sick Day override: "Emma has a fever. I've paused low-priority tasks and reminded the babysitter about the thermometer location. [OK]"
- Does "propose, never assume" feel collaborative or patronizing?
- Is a dismissed routine suggestion permanent enough that mothers trust it won't resurface?
- Does the Sick Day override card feel like it does meaningful work?
- Settings: household name, subscription tier (placeholder), notification toggles
- Data export placeholder: "Export your household data" (grayed out — MVP+1)
- About / Help screen with contact info
- Do mothers look for a data export option? (signals data ownership concerns)
- Are notification preferences the first thing they adjust?
Mock Data — The Vega Family
Parallel to the real-world scenario, this is a complete, named household that makes the prototype feel lived-in on first tap rather than empty and hypothetical.
The Alpha Cohort users (5-10 inner circle testers) will use their personal households to interact with the prototype. Their real-world experiences will inform the validation process, and each household's data will be migrated to the production database prior to the pilot (beta) release.
All data is database-type tested and consistent with the application standards. No backend to support, and no authentication required for use as a demo of the prototype. Use a single family consistently across all screens so the experience feels cohesive.
| Field | Value |
|---|---|
| Household | The Vega Family |
| Primary Caregiver | Sofia Vega |
| Child 1 | Emma, age 7 — peanut allergy, soccer on Tuesdays at 4 PM |
| Child 2 | Lucas, age 4 — no known allergies, preschool Monday–Friday |
| Caregiver 1 | Grandma Rosa — Calendar: read, Health: read, Household: hidden |
| Caregiver 2 | Babysitter Jess — Health: read only (allergies + EpiPen visible) |
| Upcoming Events | Emma: Soccer Tuesday 4 PM · Lucas: Preschool show Thursday 10 AM |
| Health Events | Emma logged: low-grade fever (99.1°F) this morning → Sick Day Mode active |
| Inventory Alerts | Peanut-free granola bars (low) · Children's ibuprofen (low) · Laundry detergent (low) |
| Recent Caregiver Log | Grandma Rosa: "Kids home safely — 3:22 PM" · Jess: "Ibuprofen 200mg given — 2:15 PM" |
Validation Protocol
This is not a usability test. It is behavioral observation. Watch what mothers do — do not ask them what they think.
Run for 2 weeks with 5–10 recruited participants before M1a begins. Recruitment via MomDom's personal network, the existing waitlist, and local mom groups. Incentive: early access + beta cohort recognition. No cash required.
Build Timeline
Multi-day prototype build, 2-week validation window.
Prototype → Production Handoff
The prototype is not throwaway work. Every screen is a specification. Every brick of data structure is a type contract.
| Prototype Artifact | Maps To (Production) |
|---|---|
| Each screen group (01–08) | 1:1 React Native screen in the mobile/ workspace |
| Tailwind class patterns from Lovable/v0 | React Native StyleSheet or NativeWind equivalents |
| Mock JSON constants file | TypeScript interfaces in packages/shared/src/types/ |
| Confirmation Card UI (Screen 07) | Template for all Amazon Bedrock confirmation cards in MVP+1 |
| Caregiver permission toggles (Screen 06) | Direct specification for RLS policy design delivered at M2b |
| Sick Day Mode state (Screen 02 + 04) | Database state machine spec: health event → household_state transition |
packages/shared is built from. That's not extra work — it's the same work done earlier.