Ready when you are
–Log wake-up to start the day
Every forecast is locked in before the sleep, then scored automatically once it is logged. Each sleep counts once, on the forecast that was standing when it happened.
Keep one to three reproducible algorithms active. Each new bet records all of them at once, on identical information.
A guide, never a deadline
NaniNani shows two times for the next sleep. One is where the biology points. The other is where your last two weeks point. The distance between them is the part worth reading.
Prescribe answers “where should we aim?” Predict answers “what will probably happen?” They come out of the same engine, so when they drift apart, something in the routine has drifted too.
Live guidance appears while the child is awake and enough data is available.
The number is accumulated sleep pressure measured against the model’s average sleep-onset threshold. Near 100%, pressure has reached the level the model treats as the usual point where sleep comes more easily. It is not a signal that sleep has to happen now.
Pressure climbs while awake, fast at first and then more slowly, and drains while asleep. The real threshold moves too: the body clock raises it through the late afternoon and lowers it overnight. The gauge uses the flat average so the number only ever rises while awake, while Prescribe uses the moving version. That is why a rising gauge and a shifting target can feel slightly out of step.
A newborn’s sleep runs on cycles of roughly an hour, driven by feeds, scattered around the clock. That is the design, not a problem. The 24-hour body clock switches on later: a melatonin rhythm first appears around 9–12 weeks and steadies by 13–15, and day-night structure only becomes definite after the third month. Until then, days that look nothing like each other are biology doing exactly what it should.
NaniNani follows the same timeline. Under two months it never proposes steering — there is no clock to steer by — and while the clock is switching on it leans on sleep pressure and stays loose about clock times. Two things worth knowing besides: milestones count from the due date, so a baby born early is “younger” than the calendar says; and colicky babies (about one in five) run this whole timeline later, with drowsy cues that are hard to read. None of it is caused by anything you’re doing.
Each of these forecasts the actual onset, and each one is written down before the sleep happens. That is what makes the comparison fair: no algorithm gets to see the answer first.
Starts at the Prescribe crossing, then adds the recent gap between that target and when sleep actually started, kept separate for each nap position and for bedtime. The most personal of the three, which is also its weakness: it will happily learn a late drift you were hoping to correct.
Takes the middle clock time of comparable recent naps or bedtimes and repeats it. Steady when the days are regular, stubborn when they are not. An hour-early wake-up moves it by nothing at all.
Takes the middle awake stretch before this sleep and counts it out from the morning wake or the end of the last nap. It follows a shifted day well. It knows nothing about the body clock, or about how much the last nap actually drained.
Prescribe does not compete in the league, and it would score badly if it did. It was never describing today. It describes where the biology points, and a week where sleep moves toward that target is a week where the guidance did its job, even though every single bet would have looked wrong on the day.
Scoring starts at 100 for an exact hit and is deliberately lopsided: a forecast that ran early loses 1.5 points per minute, one that ran late loses 2.5, because a late forecast steers the parent toward overtiredness and an early one merely costs some waiting. Naps and bedtimes are kept apart, and coverage records how often an algorithm had enough history to answer at all.
The reasoning behind all of this — the research, the principles, the honest limits — lives in the development notebook.
Good timing makes settling easier and protects a decent sleep opportunity. It does not decide how well a child sleeps — illness, teeth, the room, and the child’s own needs all outrank it, and so do their cues in the moment. NaniNani is not medical advice.
One algorithm at three depths: the idea, how to read it on a normal day, and what the code actually computes.