← Back to Snug Tonight case study

๐ŸŒ™ Snug Tonight

How I took a personal problem and turned it into a shipped mobile app โ€” now live on the App Store

By Katlego Phokela ยท Product Case Study 2026

The Problem

"As a mom of two, I never knew how to dress my child at night. It's warm at bedtime but freezing by 3am โ€” and getting it wrong means a child that wakes up too hot or too cold."

I built Snug Tonight โ€” a mobile app that uses tonight's weather forecast and your child's age to tell you exactly what to dress them in. No more guessing, no more Googling at midnight.

I took this from a personal problem all the way to a shipped product โ€” research, requirements, design, build, App Store launch, and ongoing iteration based on real user feedback. v1.0.1 is live on the App Store. This document walks through what I did at each stage.

What I Did โ€” At a Glance

Stage What I Produced Status
1. Discovery & Research Problem definition, parent interviews, competitor review Complete
2. Strategy What makes my app different, who it's for, what to build first Complete
3. Planning User stories, feature priorities, recommendation logic, success measures Complete
4. Design & Pivot Full screen set in light and dark mode, competitor discovery, app rename to Snug Tonight Complete
5. Development & QA Working React Native app with weather API, wardrobe, sleep logging, cloud sync, user accounts, and 5 QA review cycles Complete
6. Launch v1.0 approved and live on the App Store. RevenueCat in-app subscriptions live (free 1 child, premium up to 10 child profiles). Phased rollout in motion. Complete
7. Measure & Improve v1.0.1 reliability update โ€” Sentry crash reporting, retry wrappers on every cloud write, 100% accessibility coverage, smart feedback learning, streak milestones Complete (v1.0.1 live)

My Journey โ€” Stage by Stage

1
Discovery & Research
I started by understanding the problem properly
โ–ผ

I had this problem myself as a mom โ€” I never knew how to dress my child at night. Before building anything, I wanted to make sure other parents had the same struggle. I asked real moms in WhatsApp parenting groups what they do, and I checked what apps and guides already exist.

What I Produced

  • Wrote down the problem clearly โ€” why parents get it wrong at night
  • Created 3 parent profiles based on the moms I spoke to
  • Collected feedback from a WhatsApp parenting group
  • Reviewed 5 existing apps and guides to find their gaps

What I Learned

  • Most parents guess or Google every single night
  • This is a nightly problem โ€” not a once-off
  • Every existing app dresses for NOW, not for overnight
  • Parents are willing to use an app if it's quick and simple
2
Strategy
I decided what would make my app different
โ–ผ

After my research, I had to decide what makes Snug Tonight different from everything else out there. The answer was clear: other apps dress for the current temperature, but my app dresses for the whole night โ€” because the coldest point is around 3am, not bedtime.

What I Produced

  • Defined what the app does and who it's for in one sentence
  • Compared my idea against apps, thermometers, trackers, and blogs
  • Identified the gap no one else fills: overnight forecast
  • Decided what to include in version 1 vs what to leave for later

What I Learned

  • The overnight forecast is my key differentiator
  • Parents in SA deal with extreme temperature swings
  • Keeping it simple was more important than adding features
  • Free for 1 child profile, premium for up to 10 child profiles
3
Planning
I wrote down everything the app needs to do
โ–ผ

I wrote the requirements the same way I write BRDs and user stories at work. I defined exactly what the app should do, who it's for, and how I'd know if it's working. I also built the clothing recommendation logic โ€” child's age + temperature = what to wear.

What I Produced

  • User stories with acceptance criteria
  • Recommendation logic mapping child's age ร— overnight temperature to a clothing combination
  • Feature priorities โ€” what to build first vs what can wait
  • Success measure: are parents coming back every night?

What I Learned

  • The same skills I use at work apply here โ€” requirements, prioritisation, acceptance criteria
  • Keeping V1 focused meant cutting features I wanted but didn't need yet
  • The recommendation logic had to handle every combination of child's age and overnight temperature defensibly โ€” no gaps, no unsafe outputs
  • The key success metric is simple: do parents come back the next night?
4
Design & Pivot
I designed the screens and handled a competitor discovery
โ–ผ

I designed the full screen set across onboarding, tonight's recommendation, morning feedback, wardrobe, and settings โ€” in both light and dark mode. During this stage I also discovered an existing iOS app called "BabyDress" solving a similar problem. So I renamed my app to "Snug Tonight" and sharpened what makes it different.

What I Produced

  • 4-tab navigation: Tonight, Morning, Wardrobe, Settings
  • Dark mode for nighttime use โ€” parents use this in a dark room
  • Side-by-side feature comparison with BabyDress competitor
  • Renamed app from "BabyDress" to "Snug Tonight"

What I Learned

  • Finding a competitor was actually a good thing โ€” it proved parents need this
  • BabyDress dresses for NOW; my app dresses for the whole night โ€” that's the difference
  • Designing for context matters: one hand, dark room, tired parent, 30 seconds
  • The 5-step onboarding needed to be fast โ€” parents want value immediately
5
Development & QA
I built the working app and ran 5 QA review cycles
โ–ผ

I built Snug Tonight as a real, working mobile app using React Native and Expo โ€” so it runs on both iPhone and iPad. It connects to a weather service to get tonight's forecast, and recommends what your child should wear based on their age and the overnight low temperature. After the initial build, I ran 5 QA review cycles to fix bugs, add cloud sync with user accounts, push notifications, and a personalised feedback learning system.

What I Built

  • React Native app โ€” 4 tabs, works on iPhone and iPad
  • Weather integration, recommendation engine, digital wardrobe
  • Cloud sync with Supabase, Apple & Google sign-in
  • Push notifications, feedback learning, share feature, streaks

What I Learned

  • 5 QA review cycles caught edge cases I'd never have found alone
  • Cloud sync and user accounts were essential for data safety
  • Feedback learning makes recommendations smarter over time
  • 8 UX engagement patterns drive daily habit formation
6
Launch
v1.0 is live on the App Store
โ–ผ

Snug Tonight is live on the Apple App Store. Real parents are downloading it now. RevenueCat in-app subscriptions are live, the phased rollout is in motion across WhatsApp parenting groups and LinkedIn, and the South African market is responding to the overnight temperature problem the app was built to solve.

What I Shipped

  • Apple Developer account approved ยท v1.0 approved on resubmission after audience-targeted copy refinements across the App Store listing
  • Live on the App Store: parents can search "Snug Tonight" and download (iPhone & iPad)
  • RevenueCat in-app subscriptions live โ€” free tier (1 child profile) and premium (up to 10 profiles, insights, sleep history, data export)
  • Phased rollout: WhatsApp parenting groups, LinkedIn for the broader product / parent community, organic word-of-mouth growing
  • Targeting South African parents first โ€” our temperature swings are extreme (28ยฐC at 7pm, 12ยฐC at 3am in Joburg)

What I Learned

  • "Working" and "App Store ready" are two different things โ€” audience-targeted product copy and listing metadata matter as much as the code
  • Audience clarity in product copy is a first-order concern, not a polish step
  • The freemium boundary (1 vs 10 child profiles) needed to be defensible, not arbitrary
  • Phased rollout beats a single launch announcement โ€” issues surface in waves
7
Measure & Improve
v1.0.1 reliability update is live
โ–ผ

Real users surfaced real edges. v1.0.1 is live on the App Store โ€” Sentry crash reporting wired in, network-resilience improvements on every cloud write, and a full accessibility sweep. The kind of work that's invisible in a happy-path demo but defines whether a product earns trust.

v1.0.1 Hardening

  • Sentry crash reporting integrated โ€” every uncaught error in production lands in a dashboard with full stack trace, device, OS, and user ID (no name or email โ€” GDPR/POPIA-clean)
  • Reliability: exponential-backoff retry wrapper on every Supabase write (12 of 12 critical writes covered) and the RevenueCat webhook server-side โ€” transient cell-tower handovers no longer surface as "Save failed" toasts
  • Accessibility sweep: 100% accessibilityLabel coverage on all 112 Pressable buttons, plus accessibilityRole and accessibilityState โ€” VoiceOver users get a coherent screen-reader experience end-to-end
  • Smart feedback learning: the app analyses past "Too Hot" / "Too Cold" ratings at similar temperatures and adjusts future recommendations automatically
  • Streak tracking with milestone celebrations at 3, 7, 14, and 30 days โ€” App Store review prompt timed to surface after 7 successful logs

What's Next (from real feedback)

  • Co-parent sharing โ€” invite a partner via code so both parents see the same recommendation
  • Push notification reminders for evening (dress your child) and morning (log feedback)
  • Expanded analytics dashboard โ€” sleep quality trends, monthly summary, comfort-rating heatmap by temperature
  • Continued v1.x reliability work โ€” every shipped iteration earns the right to keep the user

Read the detailed stage documents

Each stage has its own deep-dive with research, decisions, and artefacts.

← Back to katlegophokela.com