Also, there doesn't seem to be a convenient way to download the data, which is kind of frustrating
Have you tried https://pypi.org/project/snoo/ ?
(I haven't, but I liked http://www.relevantmisc.com/r/python/2020/05/26/visualizing-baby-sleep/)
I havent, but I likely will now. I'm tempted to try and come up with some design based on the patterns and put it on a t-shirt.
My first thought was "why is there an API and not a 'download data' button?" But on second thoughts I have to admit that the set of people who want their baby's sleep data in csv format and are unwilling to use a simple API is probably quite small...
I wouldn’t attempt to work out whether a baby needs to sleep from how long they’ve been awake. A baby’s sleep needs actually vary a lot from day to day. I have always just fed my son to sleep whenever he was yawning or rubbing his eyes. When he was a newborn he would get anywhere from 8 to 16 hours sleep over a 24 hour period and his wake windows could be anything from 30 minutes to 12 hours. He tends to sleep a lot during developmental leaps, then at the end of the leap he’ll hit a bunch of milestones and go back to his usual pattern of going the whole day on a couple of power naps.
I’ve never used a Snoo myself but here is an occupational therapist’s view of the Snoo https://www.otdude.com/editorial-opinion/an-occupational-therapists-honest-opinion-on-the-snoo-bassinet-with-some-research/.
How long a child has been awake is not at all the only factor in figuring out whether they are sleepy, but at least with my three kids I have still found it very helpful to consider. If they are rubbing their eyes after 45 minutes awake, it's very unlikely that they would go down if I tried, while if it is been 4 hours, it is much more likely. My kids also have done a decent amount of eye rubbing that isn't related to being sleepy.
With our youngest child we got a Snoo automated bassinet, and overall we've been very happy with it. On the other hand, the corresponding phone app has several missing features. Since all of this is software, it should be fixable, but the current state is a hassle.
When the baby is fussy, one of the first things I want to know is how long they've been up: the longer they've been awake, the more likely it is that they need sleep. If I open the app I see:
The number in the upper left-hand corner is how long their most recent sleep was, which is a fine number to include, but much less useful than how long they've been up. If I switch to the history tab I don't see anything useful:
The problem is that it's morning, and the last sleep finished "yesterday". Swipe back, and I can see the most recent waking is 8:25:
Now I can do some math in my head and see it's been almost an hour. Instead, it would be great to have this number calculated automatically, and made available on the first screen:
A related problem is that the information about soothing status is not very useful. Ideally, it would detect whether the baby was awake or asleep, perhaps with a camera, but since it only has a microphone to work with I understand how it can't do that. Instead, they mark "soothing" in red and "baseline" in blue. Once the baby falls asleep, however, it takes quite a long time for the Snoo to gradually work it's way back down to baseline. Manually triggering the highest setting (while empty) and waiting for it to return to baseline, it took 21 minutes. The whole time it said the baby was "calm", but still marked the time as red on the chart and didn't count it towards daily sleeping time:
I would find the chart and timings much more useful if it colored by whether the baby was calm (whether it had recently detected crying) than by whether it is still in soothing mode (responding to earlier crying).
Then there's a layout issue, worse in combination with the two above, which means you can't even always tell when the most recent nap ended:
The problem is that if it labeled all three of the nap start, soothing end, and nap end, the labels would overlap. They could do something fancier with their layout, where the line from the timestamp to the event doesn't have to be horizontal, or they could make it so that when you tap or long-press it gives more detailed timing information, but as far as I can tell in the current app you sometimes just have to eyeball it.
It's still very helpful overall, and I'd still recommend one to other parents, but the app could be quite a bit better.