So, I've already posted about Circadia a couple of times, and I'm trying not to spam the new thing I'm excited about, but I've been using it for about two months now and I wanted to share the most useful things from it. This also turned into a semi review because I cannot be concise and there is a lot to talk about.
I'm not the developer, but I have spammed them with a lot of feedback and keep trying to show real life people bits of the site and exclaiming about how useful this other feature is - sadly nobody else is as interested in sleep trackers as me, and I'm usually not awake when they are anyway.
So I have come to unleash my opinions on Reddit instead, as is traditional.
Very quick about:
Circadia is a new, still in development (out of alpha, almost out of beta) sleep tracking and analysis website. While it is fully usuable, it is technically still in development has a few in progress features, the actual iOS and Android apps are still prepping for release and changes are made every day.
Highlights
- It began, and mostly focussed on, N24, but has expanded to cover basically all types of sleep (some of this is still not fully live, it still looks very N24-centric, but basically, it starts with no assumptions and has to be fully flexible to work for Non24, so any other sleep pattern is automatically easier to handle).
- You can log directly with or without an account, import your own spreadsheets or a text list, or import from various sleep tracking wearables and apps.
- Sleep logs include a lot of optional extras, like whether you were forced awake, stayed up late, had light exposure, caffeine, or other zeitgeibers, as well as a tag system. This information is actually used to calculate sleep data for you, rather than just being a complicated diary system.
- You can manage or even share a secondary profile so you can log sleep for another person (e.g. a baby).
- It allows multiple levels of optional data sharing for research into sleep disorders.
- It collects and compares anonymised results across the userbase, so you can view stats like how caffeine affects most people with N24, as well as how it affects your own sleep.
- It will track your menstrual cycle for you.
- It even includes some 'daily' games, with the daily cutoff adjusted for your actual circadian day (which I found that I appreciated more than I expected), and extra trivia like when the next meteor shower or sunrise lines up with your actual awake time.
- It includes exportable doctor reports, and shareable custom links and codes for anything from 'just availability' to your full sleep log.
- It tracks your 'real world timezone', for fun and for translating your current sleep period to other people. Also helpful for lining up international calls!
- not based on dumb generative "AI" to tell you blatantly obvious sleep facts or "predict" that you should sleep at night next week.
- provides some better terminology for communicating your sleep patterns
It has a LOT more than this, but I think that's a decent overview. This isn't a full review (or it would be ten times longer!). This is mostly just to share the actual, actionable, impacts it has had on my day to day life, and understanding of my sleep.
Yes, I know that I said this wasn't a full review. I promise, this is still me trying to summarise.
Now for the real part of the post.
How Circadia Helps With Sleep Predictions
So, intro: Prediction Algorithms
Circadia has a couple of different algorithm options, which are complicated and statistical and require real maths and computer modelling. This is mostly far beyond my understanding, but there is a lot of documentation available if you want to geek out on how it functions.
It uses your sleep log times, and other extra data, to calculate your sleep patterns over time, then uses this to generate the predictive data and many of the available stats. For example, your typical day length, likely time you will go to sleep over each of the next few days, impact of events on your daily drift.
- Smart (fixed), which just adds your average day length to your current sleep period, more or less. It's reliably 'about right', but usually a little off because sleep and day length vary. It doesn't adjust well to sudden changes, but is a good rule of thumb for where your sleep probably should fall.
- Adaptive (live), which adjusts constantly (or at least, every day or two) based on recent sleep patterns. It's usually more accurate, but can get thrown off temporarily by sudden reversals and interruptions. It also pays much more attention to tags and other factors that you add to your logs.
Usually I use Adaptive, but if I've had a non-typical couple of nights and I know my sleep is trying to revert to its normal pattern, I'll rely on Smart more, as it has mostly ignored the recent chaos and kept plodding on in the existing track.
If I had a big timezone jump (e.g. travel), Adaptive catches up much faster. It has actually been an excellent predictor of how long it takes my sleep to get over jetlag or daylight savings, and adjust to the new timezone (which is basically what we go through every time our sleep gets interrupted).
Most of the time, it falls within about an hour of where I would expect myself to fall asleep - neither me nor the computer tend to do much better than that over time.
If it's wildly off (and it probably won't look quite right straight out of the gate):
the 'my compulsive need for preemptive tech support' section
- give it a couple of days of fresh, up to date, logs, it often needs a day or two to update and course correct. Less than two weeks of data is not really enough, and years of chaotic data can throw things off significantly.
- results are affected by customisable settings like 'count a nap as under 3 hours' or 'if sleep starts within X hours of the previous sleep, consider them all the same night'.
- it may auto-categorise old or chaotic sleeps wrongly (e.g. as part of the night behind instead of the current one). Going through your log history and checking for anomalies is usually a good idea. You can usually change some of the categories around, or just straight up exclude entries from consideration. (I'm currently working through my extremely disrupted early sleep that looks biphasic or totally irregular at a glance, and separating the naps and split sleeps properly so it can count from main sleep to main sleep to work out drift and day length. My annual day lengths for those years are already jumping from ~23.5h to over 24.15h - my sleep pattern has dramatically changed at least three times over several years, so it is hard to apply a single fixed rule, but the early disruptions and the underlying n24 is really jumping out at me now. Before, I just figured the n24 might have been a new thing).
- if you aren't up for homework and editing yet, just import a recent time range of sleep (you can limit it to exact dates in the import screen).
- tags and things do matter. The more you finetune your sleep logs, the better it gets.
Predictions: How well they work for me in practice
So how useful are these predictions? Generally about 80% useful, in my experience (individuals will vary, but I can only really talk about my sleep here).
I'm usually about 70-80% confident of my sleep pattern over the next week, and that's about the same as Circadia. If I can't do better than that, I don't expect the algorithm to beat it by much either as it shows my sleep is just not fully predictable right now. It certainly doesn't tell me things like 'it's 11pm, time to sleep!' every single day, it says '9-11.30pm, probably time to sleep!' once or maybe twice every 19-23 days.
Circadia can't quite outcompete my predictions, because I've got literal years of recalculating and finetuning and tracking, plus awareness of day to day context (e.g. 'today I have an event or project to finish'). But it's definitely not worse (which is huge), and it's much easier to check it than to constantly recalculate things over and over in my head.
What it can do: keep track of a lot more data points at once than I can, and actually act as an external memory for things like recent light exposure.
What it can't do: actually know how I feel and what I'm planning to do, or if I might change plans around my sleep.
What it doesn't do: suggest inane sleep hygiene tips, claim things that aren't supported by the data, default to fixed assumptions about how sleep should work.
It also lets me add specific custom events and gives me an easy to read way to check if I'm likely to be awake, and how badly it's going to clash - even if it's an hour or four off, that's still a useful window, and takes a huge mental load off trying to calculate, remember, recalculate, re-remember, everytime I think about the event.
Examples:
Predicting if I'm going to be awake for a specific event:
My old process:
- count sleep cycles in Sleep As Android by eyeballing the actigraph over 3mths, 6mths, and a year.
- average out to get my actual drift and compare to check if they are consistent or if I'm trending faster or slower recently.
- pick the most recent, typical (in my judgement) wake/sleep time from the past few days to use as a starting point.
- estimate ahead by adding about 8hrs per week/22 day 'months'/whatever close enough number works.
- for longer than 3 weeks, I open up Circadian Calc and update the drift number and work out how many days to predict ahead
- get a time, assume it's within 4hrs either side, so I usually know that it's a day/night/crepuscular week up to 2 months ahead. Assume it could be a full week ahead or behind of that by the time I get there (especially with rounding errors).
More recently:
- do all the above to get base day length and a reliable start point
- set up a fixed schedule
- let it repeat in the app or calendar
- eyeball it over time to see if I'm still on track (usually I yo yo around it a bit).
- too much hassle to update live, but always available to check.
Now:
- open Circadia and navigate to forecast display of choice, or open Google Calendar (which it syncs to)
- look at the predictions
- run a sanity context check over them to see if they are accurate (e.g. I'm going to have to stay up late tomorrow, so the next day will definitely have a different sleep pattern to my 'normal' one, or 'I know I stayed up very late last night and feel like it's already afternoon even though I've been up for an hour, so I'll crash early at my original time', vs 'i stayed up late and feel like my whole day has shifted, so my whole day has actually shifted to a new start point').
- get on with my life
- downside: it doesn't really provide longer term predictions because they're too unreliable (which, yeah, fair enough, my old systems were also 'give or take a circadian week'). So I still have to go back to rule of thumb estimates for more than two weeks ahead.
Predicting when I should do things today, after the day has started:
Old:
- Open Sleep As Android, look at the time I woke up.
- look at clock time.
- do maths.
- try and remember my average day length
- do more maths.
- repeat or give up multiple times per day.
OR:
- if I remembered to hit my med timer as soon as I woke up, look at the timer countdown.
- if it's already gone off, go back to the other method (unfortunately, I often miss the actual alarm, it was more useful as a 'upcoming event' countdown than a real reminder).
OR:
- give up and go with whatever feels right.
- my body clock is pretty stable NOW so I usually end up eating and sleeping at about the same relative time, but sometimes I start doing things and run out of time to include meals or wind down for bed before my stage of day changes.
- this used to be extremely disastrous because I couldn't follow my own rhythms easily, much less figure out what I should do at what point in the day.
Now:
- open Circadia.
- wait for things to load (this step changes depending on recent updates!)
- look at 'you've been awake X hours/it's this time for you' header.
- Done.
if I want more info than that:
It comes with a default daily schedule that I haven't really modified much, and different ways of displaying current time/sleep pressure/progress through day
- look at the 'thing that should be happening in your schedule right now' display (e.g. I've missed lunch writing this up!)
- look at the clock view if my brain prefers that right now
- done.
Daily information that actually reflects my actual sleep:
Predictions are nice, but having it adapt to my actual schedule is amazing. Just being able to refer to how long I've been awake in hours, how far through MY day I am (and what time my body thinks it is), when my next normal night and 'local timezone' run starts, and if I'm speeding up or slowing down (as well as the other basic 'your recent sleep is doing this' type of stats).
Most importantly, it keeps pace with me and adjusts its predictions and information and daily schedules based on my actual sleep, so I never have to manually calculate 'where I am' vs 'where I should be' vs 'where other people are'.
Essentially, it tracks MY timezone, presents most information in that timezone, and converts back and forth appropriately when I need to compare my time to other times.
Aside from actually adding my sleep data, the thing I use it the most for is just 'what time is it for me'. Followed by more diverse things like upcoming scheduling predictions, and getting an overview of how well I've been sleeping over the past couple of weeks (cumulative sleep debt).
Extra stats and analysis:
Things it confirms in better detail than my previous guesstimates, or is straight up new info:
- morning light shortens my drift. Overall daylight exposure lengthens it.
Timing clearly matters, but I don't yet know if they cancel each other or not, or how late in my day I can get away with bright light.
- it tells me that my 'weirdly early lunchtimes and dinners' are actually just normal lunchtimes and dinners. My whole mental clock was skewed, I expect meals to be much later in the 'day' than they actually occur.
- I go backwards a third of the time, but a quarter of those were just corrections from jumping forward too much. Nearly half of my forward jumps get corrected the next night.
- My average daylength is accurate but goes up and down a bit more than I realised,
- I'm speeding up - about 0.8 cycles round the clock per year
- Seasonal variance does affect me - I felt it did, but couldn't quite be sure. My days are about 20min longer in winter than summer.
- My sleep jumps forward faster when I fall asleep in the afternoon (I did actually know this one, lots of things tend to keep me awake 'too long').
- BUT stays in place when I go to sleep around midnight (which is new to me, but may be heavily distorted by social factors or being able to sleep interrupted, as a lot of external things may keep me awake until I can crash at midnight).
- My average daylength has steadily increased over time, but become MUCH less chaotic (so it's more likely I'm seeing my true day emerge from the noise and that previously it was suppressed by external factors forcing me onto a 24hr schedule, but it may also be worsening as well).
- My old sleep was incredibly, terribly, massively bad (I knew that). And very very chaotic Non24 (I didn't know that!).
For example:
1) the biphasic period I thought I was in, was actually just me crashing very hard in the evenings, then waking up to follow my circadian day, then going to sleep at my circadian bedtime, and then being forced awake by alarms (the snooze button was heavily, heavily abused). And then just skipping sleep every few weeks when my sleep cycle drifted too far out of sync.This period really, really throws off a lot of averages and attempts to hand calculate my drift.
2) the 'severe insomnia' sleep pattern where I'd usually stay awake 30-40 hours then sleep a lot was actually just my sleep being completely out of sync with my circadian rhythm (I think I was actively trying to reset it by brute force staying awake until night time - chronotherapy - but also I was just struggling to sleep in a room without proper blackout curtains or other modifications, but also my whole sleep and health situation was a bit haywire, I didn't realise that I had N24 for a couple of years after that. I did find a few other things that were making my sleep worse, like low VitD and Lack Of Ritalin, but none of them really affected my circadian rhythm in a noticeable way).
- Interestingly, sleeping in 'full darkness' makes my days longer, but not AS long as it being a dark month, so the presence of light throughout my day seems to be slightly more important than sleeping in a fully dark room.
- I sleep MORE during fullmoons, which is the opposite of most research, and the only thing I genuinely can't explain without going into theories about electromagnetism.
Also a massively useful tag system that actually gives summaries and shows up on charts, rather than just being another way to sort logs and go 'oh yeah, that happened that day'.
e.g.
- I sleep about 2hrs more than normal, for four days after a B12 shot (drift is chaotic due to interruptions from the actual appointment though, so I may need to tag the actual day separately from the subsequent days).
- melatonin made my drift WORSE by a massive amount. I do need to retest that, I know now that I took it too late in the day, but I've never managed to set up proper test conditions (e.g. the only melatonin available here is sustained release, and keeping track of my shifting time windows was too annoying. But I can now add estimated DLMO to my daily schedule and have that managed for me!).
A lot of the findings are interesting, but I need to interpret them myself to figure out if it is correlation or causation. For example:
- caffeine intake moves my sleep onset earlier - probably because I avoid caffeine when I already have to stay up late for something. But maybe it also acts as a morning zeitgeiber that helps my body wake up properly. This is something I can actually test now!
- eating shortly after getting up also moves my sleep earlier, but I am more likely to just skip 'breakfast' if I've overslept because my body clock has already moved on.
And I could definitely use the tag and factors system more - while I've mostly just ported over my old tags so far, most of them were just informational so I often wasn't very strict about them, and some things just were too much hassle to track everyday for no payback. I also just didn't track a lot of things for many years, as just tracking my sleep itself was taking up most of my bandwidth.
Disclaimer section
in which I continue indulging my compulsive need for preemptive tech support
What it doesn't yet have/drawbacks/stuff the developer is working on:
(none of this will be new to them, I've sent in a LOT of feedback)
Most of this is either 'fine once you're used to it' or 'on the to-do list', but I feel like I should disclaim before a new person jumps in and goes 'wait, what is wrong with this site':
- there are three or four other sites and apps called Circadia. The one you want is https://circadia.owlandkestrel.com/
- the actual mobile apps are not yet live, but it has had so many updates over the past two months that this is probably a good thing, or the developer would have died from exhaustion by now (and they have N24 so that is saying a lot!)
- this does mean it's online only. You can theoretically run it offline for a bit, but as soon as it refreshes or tries to update, it will break.
- no full app also means that it has very basic start/stop times, rather than 'slept lightly about 70% of the time' sort of data.
- until today, my massive data set and the complicated predictive algorithm tends to cause a lot of lag, and it was often nearly unusable on my phone. I have a huge amount of sleep data, and it was clearly a 'me' problem, but meant I was a bit wary of recommending a site that didn't quite work yet, when I didn't know how heavily someone might need to use it. This is now fixed and while it could be optimised slightly more, a lot of the remaining issues are clearly 'trying to run a massive dataset on a demanding webpage inside a browser that already uses a lot of memory in its own right' sort of issues. On desktop, almost all performance issues vanish entirely even for my account.
- some of the visual themes are inconsistent and some elements are just not visible (e.g. colour coding in graphs). If something doesn't make sense, try switching the theme for now.
- some of the more basic sleep tracker stats aren't yet added, as they have focussed on the more complicated, N24 specific, stuff upfront. You can still get this in other ways - export spreadsheets and create your own graphs, or import the data into other apps, and there is SO MUCH data available that most people may not notice what isn't there yet.
- there's a lot. It's complicated and has so many features you might get overwhelmed. But this is the N24 community, we're used to excessively over-analysing our sleep, so that's probably a feature not a bug XD (People without N24 may just never use some of the pages).
There are a few other things I'd like to see, those are just the things I think might confuse or be offputting to a new user. Currently I just run Sleep As Android simultaneously for actigraph + basic sleep stats + offline backup option. I can import/export between the two, but usually I just dual log everything now because there are so many extra things I want to add to the Circadia log, AND I want it to be as up to date as possible as soon as possible, so I can benefit from the other features throughout my day.
Linking the site again. Go forth and learn about YOUR sleep!
https://circadia.owlandkestrel.com/