Monday had three naps. Tuesday had two and a five-minute car snooze that nobody logged. Wednesday began at 5:48am. By Friday, it can feel impossible to answer a simple question:
What does my baby’s day usually look like?
OBubba’s current app now answers with a small “[baby’s name]’s typical day” card inside the Sleep insight. It looks across recent logs and shows an approximate morning wake, the number of naps that happens most often, the average start and length of each nap position, and an approximate bedtime.
The crucial word is typical.
The card describes what has recently happened. It does not prescribe when your baby must wake, sleep or go to bed today. A `~9:01am` first nap means “around this time in the recent record”, not “keep the baby awake until 9:01”.
> Use the rhythm as a map of recent history—not an appointment book for your baby.
The 30-second answer
| What the card shows | How the current app gets it | |---|---| | Usual wake | average of the available morning-wake times | | Usual bedtime | average of the available bedtimes, with midnight handled as part of the same evening | | Number of naps | the most common nap count across logged days | | Nap 1, Nap 2 and so on | naps sorted by start time, then averaged by position | | Nap length | average duration for completed naps in that position | | “14 days” | logged days contributing to the daily nap-count view—not necessarily 14 samples behind every row | | `~` before a time | an approximate average, not a deadline |
The card only appears when its internal data gate passes: at least three logged days plus at least one real wake, bedtime or completed-nap result. With less than that, the app shows nothing rather than inventing a sample schedule.
Where to find your baby’s typical day
Open Care, choose the Sleep insight and look beneath the main sleep story. Once there is enough recent history, the typical-day card appears before the previous-night snapshot and trend chart.
The current card reads like a calm handover:
- Wake — `~6:50am`
- Nap 1 — `~9:01am · 1h 5m`
- Nap 2 — `~12:40pm · 1h 15m`
- Nap 3 — `~4:00pm · 40m`
- Bedtime — `~7:45pm`
It also says “Averaged from your recent logs · 14 days.” Twelve- and 24-hour display preferences are honoured, so the same underlying bedtime can appear as `7:45pm` or `19:45` according to the phone’s setting.

First, OBubba chooses the recent days
The engine looks back across 14 local calendar days by default. It uses calendar dates rather than subtracting fixed 24-hour blocks, avoiding the classic daylight-saving error where a clock change can make “yesterday” land on the wrong date.
For the nap view, an entirely blank calendar day is skipped. The app does not turn a day with no entries into a zero-nap day, because “nothing was logged” does not mean “the baby did not nap”.
A day containing any entry is kept. OBubba then searches that day for completed nap entries with:
- type `nap`
- a start time
- an end time
- an end later than the start
An open nap timer has no end yet, so it cannot contribute a duration. A malformed nap ending before it starts is also excluded from this calculation.
There is a subtle limitation: a day with feeds or nappies but no recorded nap is treated as a zero-nap logged day. That might accurately describe a napless toddler, or it might mean the family simply did not log sleep that day. The current engine cannot tell those apart.
How the usual nap count is chosen
OBubba does not calculate an average number of naps. That would create nonsense such as 2.4 naps.
Instead, it chooses the mode: the count that occurs on the most logged days.
Suppose the record contains:
- three days with 2 naps
- one day with 1 nap
The typical day shows 2 naps. The one-nap day is treated as an off day rather than pulling the result down to 1.75.
If two counts are tied, the code deliberately chooses the higher count. Three two-nap days and three three-nap days therefore produce a three-nap typical day. The reasoning in the source is that the fuller day can show the extra position with a smaller evidence sample rather than hiding it entirely.
That is a product choice, not a biological conclusion. During a nap transition, a tie may be the most useful signal of all: the baby does not yet have one stable nap count. A future card should say “Between 2 and 3 naps recently” rather than resolving the tie silently.
How Nap 1 stays Nap 1
Within each kept day, completed naps are sorted by start time. The first becomes Nap 1, the next Nap 2, and so on.
The engine then groups positions across days:
- all first naps together
- all second naps together
- all third naps together
For each position up to the chosen typical nap count, it calculates:
- average local start time
- average duration in minutes
- an internal sample count
That means a rogue one-nap day can still contribute to the Nap 1 average while offering no Nap 2 sample. The model retains a separate `sampleSize` for each nap position, but the current card does not display it.
This matters. “14 days” at the top does not prove that fourteen Nap 3s produced the Nap 3 row. The third nap may be backed by fewer days than the first.
How wake and bedtime are averaged
For each recent night, OBubba reuses its existing night reconstruction rather than writing a second, simpler bedtime parser. That path joins the bedtime date to the following morning, handles sleep resumed after midnight and reads the morning wake from the completed overnight arc or wake entry.
Missing wake or bedtime values are dropped. Available values are averaged.
Bedtime needs one extra safeguard. A normal numerical average of `11:40pm` and `12:20am` lands around noon because the clock resets at midnight. OBubba temporarily moves post-midnight bedtimes into the following 24-hour band, averages them there, then folds the result back to clock time. The result is around midnight, not lunchtime.
The wake calculation is a standard average. It does not currently show variability, median, earliest or latest wake.
Why an average can be helpful
A compact descriptive rhythm can answer questions that a list of logs makes unnecessarily hard:
“When should Grandma start looking for tired cues?”
The card can provide a useful neighbourhood: first nap has recently landed around 9am. Grandma can prepare the room and watch the baby rather than discovering the pattern from scratch.
“Has bedtime actually drifted?”
One 9pm bedtime feels dramatic. A recent typical bedtime of 7:48pm shows that it was an outlier. If the typical value itself moves later over time, the shift is broader than one evening.
“Are we in a nap transition?”
If the card changes from three positions to two after the 14-day window fills with more two-nap days, it reflects the record’s new most common shape. It does not declare the transition complete, but it gives the family something concrete to discuss.
“What do I tell nursery?”
A short wake–naps–bedtime view is easier to share verbally than fourteen screenshots. It is still a home-log summary, not a demand that nursery reproduce every minute.
“Did we forget to log?”
An implausible `None most days` for a baby who visibly naps is a prompt to check missing logs—not evidence that the baby stopped sleeping.
Why it is not today’s nap prediction
OBubba has several time-shaped features, and they answer different questions.
| Feature | Question it answers | |---|---| | Typical day | What has usually happened across recent logged days? | | Live readiness | Does the current day suggest nap, feed or bedtime readiness now? | | Next nap / wake window | What timing window is plausible after the current wake and recent sleep? | | Bedtime prediction | Where may tonight’s bedtime land after today’s naps? | | Preferred bedtime | What family bedtime window should the predictor aim toward within its constraints? |
The typical-day card does not read the current moment, today’s last wake, the most recent nap outcome or live tired cues. It also does not alter the sleep engine. It is a display-only summary.
So if the card says Nap 1 is usually around 9:01am but today the baby woke an hour early, is unwell or is clearly struggling at 8:20am, do not wait for the average merely to make the day match the app.
The NHS baby sleep-pattern guide stresses that babies differ and that patterns change as they grow. Its separate newborn sleep guidance similarly says babies have their own waking and sleeping pattern and families should expect routines to change with growth, teething and illness.
Seven limits worth knowing
1. Three logged days is a visibility gate, not proof of stability
The card can appear after three kept days. Three observations can reveal a starting shape, but they do not establish that next week will look the same.
2. The headline day count is not a per-row sample size
Wake, bedtime and every nap position can have different available samples. The engine knows each nap position’s count; the UI does not yet show it.
3. A mean can hide two real routines
If nursery naps happen at 10am and home naps happen at noon, the average may say 11am—a time that rarely occurs. The current card does not show clusters, weekday/weekend splits or spread.
4. Mistakes influence the result
A nap accidentally left running for four hours can lengthen the average. Edit or delete obvious logging errors; the card will be rebuilt from the corrected history.
5. Missing logs can look like napless days
Blank days are skipped, but a day containing other care logs and no naps contributes zero naps. Consistency matters more than logging every tiny detail.
6. The 14-day window changes gradually
Yesterday’s new pattern competes with up to thirteen earlier days. This prevents one unusual day from rewriting the rhythm, but it also means genuine change takes time to dominate.
7. It cannot assess sleep health
The card cannot see breathing, comfort, illness, feeding adequacy, the sleep environment or how the family is coping. It is not a diagnostic tool and it does not certify that a routine is suitable.
A better way to read the card
Use three layers:
- Shape: Does the baby usually have zero, one, two or three naps in this record?
- Neighbourhood: Are naps generally morning, midday or late afternoon—not which exact minute?
- Change: Is the card moving over successive weeks in a way the family also recognises?
Then compare the summary with the baby in front of you.
- If the card and current cues agree, it can help you prepare.
- If today is different for an obvious reason, let today be different.
- If the card looks wrong, inspect the underlying logs before changing the baby’s day.
- If sleep is persistently difficult or you are worried, speak with a health visitor, GP or appropriate clinician rather than trying to optimise an average.
What OBubba should improve next
The new card is refreshingly compact. To become genuinely best-in-class, it should add evidence without turning into a dashboard:
- show `Nap 1 · 12 samples` beside each position
- show the wake and bedtime sample counts too
- say “3+ logged days” distinctly from “3 complete sleep days”
- recognise split routines such as nursery days versus home days
- show a small normal range, not only a mean
- surface “2–3 naps recently” when the mode is tied
- mark a row as low-confidence when only a few samples support it
- allow the parent to open the exact logs behind a surprising average
- compare the last 7 days with the previous 7 without grading either week
- add a one-line label: “Your recent pattern, not today’s target.”
These changes would preserve the card’s calmness while making its evidence legible.
The honest verdict
OBubba’s typical-day card answers a parent question most trackers leave buried in a timeline. It uses the baby’s own recent logs, avoids fractional nap counts, handles midnight bedtimes correctly, ignores blank calendar days and withholds the card when history is very sparse.
Its best feature is also its simplest: every time begins with `~`.
The current result is a useful orientation, especially for handovers and noticing gradual change. It is not yet a confidence-aware statistical summary, and it should not become a rigid timetable. Read it as “this is the recent shape”, then parent the day you actually have.
Let OBubba learn your baby’s sleep rhythm → — log naps and nights in one calm timeline, then turn the history into useful patterns without treating one unusual day as failure.
Frequently asked questions
How many days does OBubba need before showing a typical day?
The current gate requires at least three logged days and at least one available wake, bedtime or completed-nap result. The default lookback window is 14 days.
Does OBubba use the last 14 complete sleep days?
No. It examines the last 14 calendar days. For naps, entirely blank days are skipped; days containing other logs but no completed naps remain zero-nap days.
Is the typical nap time a prediction?
No. It is an average of recent naps in that position. The live readiness and next-nap features handle the current day.
Why does OBubba say three naps when my baby sometimes has two?
The engine chooses the most common recent nap count. If two counts tie, it currently chooses the higher count.
What happens during a nap transition?
The displayed count changes when the newer count becomes the most frequent within the rolling window. Until then, the average may simplify a genuinely mixed period.
Does an unfinished nap count?
Not as a completed nap in this calculation. It needs both start and end times, with the end later than the start.
Why is the card missing?
There may be fewer than three logged days, or the kept days may not contain enough valid wake, bedtime or completed-nap evidence to produce a row.
Can a napless toddler have a typical day?
Yes. With enough logged days and wake or bedtime evidence, the card can honestly show Naps — None most days.
Will changing to a 24-hour clock change the averages?
No. It changes presentation only. The underlying minutes remain the same.
Related OBubba guides
- How long does OBubba need to learn my baby’s sleep?
- How does OBubba decide a baby sleep pattern is real?
- Does my baby need the same bedtime every night?
- Are OBubba’s wake windows wrong?
Sources and further reading
This article describes the current OBubba implementation reviewed on 28 April 2027. The typical-day card is a descriptive summary of logged history, not medical advice, a sleep-safety assessment or an instruction to delay feeding, comfort or sleep.
Ready to try OBubba?
Use OBubba to track feeds, sleep, naps, nappies, growth, milestones and family handovers in one calm baby tracker app.