Skip to content
← back to portfolio [clementine]
> cat ./projects/clementine.md · STATUS · TESTFLIGHT · iOS 17+ · NATIVE SWIFT
[01] PROJECT · iOS · native swift · 2025—

A baby tracker that doesn’t suck.

No subscriptions. No ads. No dark patterns. Two parents, one newborn, and an app that gets out of the way.

testers get every feature · including SmartNap · in exchange for honest feedback.
Clementine app icon
CLEMENTINE.app · v0.43 · build 43
[02]

Why this exists

// BACKSTORY

My wife and I are about to be first-time parents. August 2026. We’re naming her Clementine.

We’re both product people. So obviously the first thing we did after the joy and terror subsided was start downloading baby trackers. Track feeds, sleep, diapers. Both of us seeing the same data at 3 AM when neither of us can form a sentence. Standard stuff.

Every app we tried was awful.

// PULL-QUOTE

$10/month to track when your kid pooped. Seriously.

I’ve been in product 16 years. I get it — captive audience, short monetization window, sleep-deprived parents who’ll pay for anything. Textbook extraction setup.

But knowing why the market looks like this doesn’t make it less gross. New parents don’t need one more thing trying to extract money from them. They need a break.

So I built it. Core tracking is free. SmartNap will be a one-time $4.99 with Family Sharing. No recurring charges. No paywalls in front of basic features. Right now, testers get everything — SmartNap included — for free.

Breastfeeding timer — side indicator, switch button, done Home timeline — daily summary, event list, quick-log bar Partner sharing — two mascots, shared with partner, Nikole active
[03]

The basics

// EVERYTHING YOU NEED · NOTHING YOU DON’T
[01] FEEDING

Per-side timer

Breast (side timer, pause, switch), bottle (amount + type). One tap. Both parents see it.

[02] SLEEP

Live Activity timer

Start/stop, daily totals. Live Activity on lock screen so you don’t even unlock the phone.

[03] DIAPERS

One-tap log

Wet, dirty, both. Done. Logging a diaper shouldn’t be harder than changing one.

[04] GROWTH

WHO percentile charts

Weight, length, head. Export a PDF for your pediatrician.

[05] MEDICINE

Dose tracking + reminders

Vitamin D, meds, whatever. With reminders — because 3 AM you will not remember.

[06] EVERYWHERE

Watch + widgets + Dynamic Island

Home screen, lock screen, Dynamic Island, Apple Watch. Log from your wrist while holding a sleeping baby.

[04]

What we won’t do

// EVERY OTHER TRACKER DID AT LEAST 3
$9.99/month subscription $4.99 once, Family Sharing included
Ads between diaper logs Zero ads, zero tracking
Social features nobody asked for Two parents, one baby, that’s it
Sync that doesn’t actually sync iCloud sync that just works
[05]

SmartNap · the rabbit hole

// ON-DEVICE PREDICTION
$ ./smartnap --predict READY

This is where I lost a few weekends. I started reading about infant sleep science and just… kept going. Wake windows. Circadian development. How breast milk and formula affect sleep onset differently. How sleep pressure accumulates in the first year.

Turns out there’s real clinical research on this. Wake windows go from 45 minutes at two weeks to 5+ hours by age two. The modifiers are well-documented.

So I built a prediction engine. Entirely on-device. No cloud ML, no data leaving your phone. It degrades gracefully:

[01] CLINICAL day 1 Published age-based baselines. No logging needed.
[02] ROLLING 3+ days Starts learning from your baby’s actual patterns. 5 modifiers.
[03] FULL 7+ days 11 modifiers, exponential moving average, personalized predictions. Adapts daily.

It tracks circadian phase, feeding type, activity, nap length, 3-day sleep debt, regressions, eating regularity. Each modifier has a bounded range grounded in published research. Circadian alone shifts the window by −8 to +12 minutes depending on time of day.

Honestly? TBD if it works on a real baby. But the science is sound, the math checks out, and the confidence scoring tells you when it doesn’t have enough data. I’d rather be honest than pretend to be certain.

$4.99 one-time at launch · Family Sharing · both parents get it

free for testers · all of it · just tell me what sucks

SmartNap — sleeping mascot, feature cards Sleep insights — charts, wake-window consistency
[06]

How it got built

// 43 BUILDS · ZERO EXTERNAL DEPS

I’m a product person, not an iOS engineer. Never shipped a native app before this. The whole thing was built with a lot of AI help, a lot of Apple documentation read at unreasonable hours, and the kind of stubborn energy that comes from being told “just use Huckleberry, it’s fine.”

Zero external dependencies. The whole Apple stack, nothing else.

The mascot is drawn entirely in code. No image files. Six different expressions, all SwiftUI geometry. I genuinely don’t know why I did it that way. It felt right at the time.

Build 30 — Live Activities finally rendered after four straight builds of debugging a blank lock screen. Build 39 — nursing logic rebuild where side-switching finally made sense. Build 42 — SmartNap overhaul that threw out the original prediction engine and rebuilt it from real clinical baselines.

Hardest and most fun thing I’ve built in 16 years of doing this.

// THE STACK
SwiftUI Core Data CloudKit WidgetKit WatchKit Live Activities App Intents Swift Charts StoreKit 2
// JOIN_TESTFLIGHT

Want to try it?

Clementine is in TestFlight. If you’re expecting or have a newborn, I’d love for you to test it and tell me what’s broken. Testers get the full app — every feature, including SmartNap — completely free. The only thing I’m asking for is honest feedback.

saadat@saadat.online · same-day adds