We may be entering the age of "disposable software" (some people politely call it "on-demand software"). Until recently, coding was a highly specialised skill and was relatively expensive. So writing custom code for personal whimsy was a luxury only software developers could afford. Not anymore.
That CO2 concentration looks unhealthy, I wonder to what extent it's affecting your sleep quality (as opposed to waking you up).
> Measure before you fix
In my case, I got a few IKEA CO2 sensors, and after leaving them in the bedrooms for a few days, we found that leaving an outside window slightly open + the bedroom door open, kept the CO2 levels below 600PPM at night.
We're 1000ft/300m away from a motorway, but fortunately the noise pollution isn't bad. So ventilating (even as it's getting cold) turned out to be a simple fix.
I hadn't thought of collecting sleep data from our devices, but maybe I'll get an AI to do that, so I can correlate our sleep quality with the environment.
I went to work at a BBB office once. They turned all their computers off at night and every morning they were back on. It was just "normal" for them.
I can't even remember what problem I was troubleshooting. At the time I was working on IVR systems.
Anwayz, I was working late in their office. Everyone had turned off their computers and went home. At exactly Midnight, every computer in the office turned back on.
I walked around the office looking at desks wondering what had happened. On one persons desk was an alarm clock with a very quiet alarm buzzing. I checked the clock and it was set for midnight (probably a default). About two minutes later it turned off automatically.
I turned off computers and re-set the alarm to go off a few minutes later.
When that alarm clock went off it somehow caused either draw or feedback in the wiring that caused all the computers to turn back on. At the time I wondered if it had something to do with wake on lan.
In any case, I suggested that person take their alarm clock home.
This is really cool. We did a similar thing around 2 years ago but didn't use AI in that case. Just used a phone to record a few nights sleeping. Then a python script. I manually listened for some time in order to find the threshold amplitude (where all sounds would be ignored below and tracked above). Generated a graph that should the spikes of interest. Clicked on the spikes which went to the timestamp in the audio and listened. Not super scientific I know.
Two observations. 1. Often you wake up after a loud noise but like 5 minutes later with no memory of it. 2. even if you don't wake up from the noise your breathing changes, more likely to talk in sleep and shuffle more. So even if you not waking up your quality of sleep is disrupted.
Our case had some random construction like noise in the early morning, lasted around 10 seconds and disappeared. However, we noted even ordinary sounds we didn't think was loud was effecting our sleep.
Solution for that place was earplugs and a loud fan to generate white noise.
I'm surprised that AI didn't tell him that the most likely cause of regularly waking up around 3 am is a cortisol spike. Try some breathing exercises or some other type of stress relief throughout the day, and you might sleep better.
In my case, thinking too much about the causes of bad sleep actually contributed to making sleep worse, so if this guy is anything like me then this whole project could be hurting his sleep rather than helping.
I’m actually the author of the post and doing regular breathing exercises and some additional things. Pretty sure my cortisol levels at night are (currently) not an issue. Morning walks looking up into the sky also help me a lot. Falling asleep isn’t my issue
I grew up in the country side and unfortunately, where I live now, double glassing isn’t a thing unless you live in a recently built house.
That doesn’t nullify what you’re saying, obviously putting worries into sleep affects the sleep itself. Still thought it was an interesting project to build as I’m anyways cautious about noise and air pollution topics :)
If you're regularly waking around 3 (as opposed to random times throughout the night) you might want to reconsider cortisol as a possibility. There is a natural spike at that time, and it causes the same problem for many people who fall asleep without issues, myself included
I like the temperate graph halfway down the page. It looks like two decaying exponentials alternating every ~40 minutes, with the downward one steeper than the upward one. It's a neat visualization of hysteresis, where the thermostat presumably has a different temperature threshold for turning off or turning on (or perhaps there's a minimum time between state switches). Without the scale it's hard to know for sure.
> I get the sleep data from my Garmin* watch. Every watch and ring calculates sleep slightly differently, and to be honest, I don't fully trust any of them on the exact sleep stage I was in at any given second.
I love my Garmin, but it's one of the worst smart watches to track sleep with. It consistently ranks poorly in tests that stack it up against pro sleep equipment, and from my experience it struggles to even detect sleep times properly. That 3:32 event that the watch said has pulled you out of deep sleep may not have been real.
Related project I did in 2014 tried to do this. I was a web developer so used the web audio APIs to trigger a recording when the decibel level exceeded a certain value. I was living in a big tent in my friends back yard in Sydney at the time and was convinced it was airplanes coming into SYD that were waking me up at 4am but never really captured conclusive evidence because my laptop battery couldn't make it through the night :)
My mom would love this one :) .. she told me recently about a long-running chat gpt session that she's had for over a week, where she was going back and forth trying to figure out the source of some strange sound in the building.
what a waste of technology. you could have had a pen and graph paper hooked up to an microphone 100 years ago and looked for the spikes in the time set.
it could also be common sense.. you live in a noisy city and you are wondering what the noise is.... maybe it could be the city itself? how about sleep in a different smaller town and then ask yourself the same question, you'll probably get a different answer.
I'm not sure if things are really that simple, at least from my personal experience. I think the quality of noise and noise floor can make a difference
They’re called “MITTZON”, made for offices. Also great room separators. I’ve tested them for a few nights and they work surprisingly well.
Otherwise making sure the windows are properly sealed is first resort. And if you’re living with other people (partner, flatmates, family) it also helps to check the doors
This is cool, but a simple circular buffer audio recorder connected to stdin would have been sufficient. The recorder records continuously on a circular buffer that stores the last 5 minutes, and whenever OP wakes up, he can press any key on the keyboard to dump the current 5 minutes on storage, with the timestamp as file name. False positives are much less possible, and the whole system can just be a small CLI program.
Not sure I understand how this would work. The whole point is that you often don’t realize that you even woke up. And not sure jumping to go to the computer to hit a key is the smoothest way to fall back asleep
I spend most of my days in front of CLIs but here I really think a cli wouldn’t be the right tool for the job..
This is cool don't get me wrong, but surely overcomplicated? Why not just record audio to disk the whole night then eyeball the waveform for loudness spikes? If you just don't connect it to any network at all, there's no data breach risk (or am I misunderstanding the justification for the noise-detection toggle thing?).
Thx for the feedback about the hero image. I just removed it. (you weren’t the only one pointing it out)
The intention was to have something less detailed than the screenshot in the post.
About the other thing: yes this would have worked for a night or so. I wanted to be able to go back and forth between nights and compare. I also had concerns about the SD-card durability and storage capacity. Still, after an hour into letting the coding agent do its thing, I was impressed by the result, so more and more ideas popped into my head
Good article! Not agreeing with the statement before the link
Also, not sure if you’ve taken the time to read the post but it clearly states that I’m not using AI to analyze the data. The point of posting this was a different one
I’m happy because I can clearly hear what wakes me up at night. I knew I wake up from noise and now I can clearly see it in the data that I wake up right after door slams, noisy motorbikes, car horning, and dishes from the kitchen (own and neighbors)
After taking action I now sleep better and don’t have those random wake-up moments.
We may be entering the age of "disposable software" (some people politely call it "on-demand software"). Until recently, coding was a highly specialised skill and was relatively expensive. So writing custom code for personal whimsy was a luxury only software developers could afford. Not anymore.
That CO2 concentration looks unhealthy, I wonder to what extent it's affecting your sleep quality (as opposed to waking you up).
> Measure before you fix
In my case, I got a few IKEA CO2 sensors, and after leaving them in the bedrooms for a few days, we found that leaving an outside window slightly open + the bedroom door open, kept the CO2 levels below 600PPM at night.
We're 1000ft/300m away from a motorway, but fortunately the noise pollution isn't bad. So ventilating (even as it's getting cold) turned out to be a simple fix. I hadn't thought of collecting sleep data from our devices, but maybe I'll get an AI to do that, so I can correlate our sleep quality with the environment.
This reminds me of a weird story...
I went to work at a BBB office once. They turned all their computers off at night and every morning they were back on. It was just "normal" for them.
I can't even remember what problem I was troubleshooting. At the time I was working on IVR systems.
Anwayz, I was working late in their office. Everyone had turned off their computers and went home. At exactly Midnight, every computer in the office turned back on.
I walked around the office looking at desks wondering what had happened. On one persons desk was an alarm clock with a very quiet alarm buzzing. I checked the clock and it was set for midnight (probably a default). About two minutes later it turned off automatically.
I turned off computers and re-set the alarm to go off a few minutes later.
When that alarm clock went off it somehow caused either draw or feedback in the wiring that caused all the computers to turn back on. At the time I wondered if it had something to do with wake on lan.
In any case, I suggested that person take their alarm clock home.
you could’ve been a great start of a horror movie.
This is really cool. We did a similar thing around 2 years ago but didn't use AI in that case. Just used a phone to record a few nights sleeping. Then a python script. I manually listened for some time in order to find the threshold amplitude (where all sounds would be ignored below and tracked above). Generated a graph that should the spikes of interest. Clicked on the spikes which went to the timestamp in the audio and listened. Not super scientific I know.
Two observations. 1. Often you wake up after a loud noise but like 5 minutes later with no memory of it. 2. even if you don't wake up from the noise your breathing changes, more likely to talk in sleep and shuffle more. So even if you not waking up your quality of sleep is disrupted.
Our case had some random construction like noise in the early morning, lasted around 10 seconds and disappeared. However, we noted even ordinary sounds we didn't think was loud was effecting our sleep.
Solution for that place was earplugs and a loud fan to generate white noise.
I'm surprised that AI didn't tell him that the most likely cause of regularly waking up around 3 am is a cortisol spike. Try some breathing exercises or some other type of stress relief throughout the day, and you might sleep better.
In my case, thinking too much about the causes of bad sleep actually contributed to making sleep worse, so if this guy is anything like me then this whole project could be hurting his sleep rather than helping.
I’m actually the author of the post and doing regular breathing exercises and some additional things. Pretty sure my cortisol levels at night are (currently) not an issue. Morning walks looking up into the sky also help me a lot. Falling asleep isn’t my issue
I grew up in the country side and unfortunately, where I live now, double glassing isn’t a thing unless you live in a recently built house.
That doesn’t nullify what you’re saying, obviously putting worries into sleep affects the sleep itself. Still thought it was an interesting project to build as I’m anyways cautious about noise and air pollution topics :)
If you're regularly waking around 3 (as opposed to random times throughout the night) you might want to reconsider cortisol as a possibility. There is a natural spike at that time, and it causes the same problem for many people who fall asleep without issues, myself included
I like the temperate graph halfway down the page. It looks like two decaying exponentials alternating every ~40 minutes, with the downward one steeper than the upward one. It's a neat visualization of hysteresis, where the thermostat presumably has a different temperature threshold for turning off or turning on (or perhaps there's a minimum time between state switches). Without the scale it's hard to know for sure.
> I get the sleep data from my Garmin* watch. Every watch and ring calculates sleep slightly differently, and to be honest, I don't fully trust any of them on the exact sleep stage I was in at any given second.
I love my Garmin, but it's one of the worst smart watches to track sleep with. It consistently ranks poorly in tests that stack it up against pro sleep equipment, and from my experience it struggles to even detect sleep times properly. That 3:32 event that the watch said has pulled you out of deep sleep may not have been real.
Related project I did in 2014 tried to do this. I was a web developer so used the web audio APIs to trigger a recording when the decibel level exceeded a certain value. I was living in a big tent in my friends back yard in Sydney at the time and was convinced it was airplanes coming into SYD that were waking me up at 4am but never really captured conclusive evidence because my laptop battery couldn't make it through the night :)
My mom would love this one :) .. she told me recently about a long-running chat gpt session that she's had for over a week, where she was going back and forth trying to figure out the source of some strange sound in the building.
What is the front end built with? It looks nice.
Not OP - but it's Ghost:
Plot twist: the existential dread of an AI-ified world where "AI" is the answer to everything was what was waking him.
I was under the impression that the pattern "I have a problem -> let's ask AI" is frowned upon here.
It seems fine if you express what you did without focusing on the code.
It resonates well with what some people have been saying about building software for 1 person.
I’m also a little surprised about it. The reason I wrote this post was to send the message: I wouldn’t have done this if it wasn’t for the AI tooling
what a waste of technology. you could have had a pen and graph paper hooked up to an microphone 100 years ago and looked for the spikes in the time set.
it could also be common sense.. you live in a noisy city and you are wondering what the noise is.... maybe it could be the city itself? how about sleep in a different smaller town and then ask yourself the same question, you'll probably get a different answer.
I'm not sure if things are really that simple, at least from my personal experience. I think the quality of noise and noise floor can make a difference
My sleep was not good so I installed panelling and now I sleep better. There you go. Saved you 8 hours and using AI
Can you tell me more about this panelling?
They’re called “MITTZON”, made for offices. Also great room separators. I’ve tested them for a few nights and they work surprisingly well.
Otherwise making sure the windows are properly sealed is first resort. And if you’re living with other people (partner, flatmates, family) it also helps to check the doors
Earplugs also solve this problem with many fewer tokens.
Why use a generated image in that weird dirty yellow style when you have a real screenshot to show?
long time back i had this sense orb that did something similar and it was night sounds made me wake up !
https://sense.io/
This is cool, but a simple circular buffer audio recorder connected to stdin would have been sufficient. The recorder records continuously on a circular buffer that stores the last 5 minutes, and whenever OP wakes up, he can press any key on the keyboard to dump the current 5 minutes on storage, with the timestamp as file name. False positives are much less possible, and the whole system can just be a small CLI program.
Not sure I understand how this would work. The whole point is that you often don’t realize that you even woke up. And not sure jumping to go to the computer to hit a key is the smoothest way to fall back asleep
I spend most of my days in front of CLIs but here I really think a cli wouldn’t be the right tool for the job..
This is cool don't get me wrong, but surely overcomplicated? Why not just record audio to disk the whole night then eyeball the waveform for loudness spikes? If you just don't connect it to any network at all, there's no data breach risk (or am I misunderstanding the justification for the noise-detection toggle thing?).
Also the AI-generated hero image looks vile.
Thx for the feedback about the hero image. I just removed it. (you weren’t the only one pointing it out)
The intention was to have something less detailed than the screenshot in the post.
About the other thing: yes this would have worked for a night or so. I wanted to be able to go back and forth between nights and compare. I also had concerns about the SD-card durability and storage capacity. Still, after an hour into letting the coding agent do its thing, I was impressed by the result, so more and more ideas popped into my head
hint: your watch is probably lying to you and you're following a normal bifurcated sleep pattern.
AI is melting your real world understanding: https://www.sleepfoundation.org/how-sleep-works/biphasic-sle...
Good article! Not agreeing with the statement before the link
Also, not sure if you’ve taken the time to read the post but it clearly states that I’m not using AI to analyze the data. The point of posting this was a different one
I’m happy because I can clearly hear what wakes me up at night. I knew I wake up from noise and now I can clearly see it in the data that I wake up right after door slams, noisy motorbikes, car horning, and dishes from the kitchen (own and neighbors)
After taking action I now sleep better and don’t have those random wake-up moments.