Nerdtastic Programmable Alarm Clock
Waking up in the morning is an ongoing struggle for me. I’m a snooze button addict. My kid was screaming at 2:30am. I’m biologically inclined to sleep until noon. I’ve got early meetings some days.
If it weren’t for all the property damage, I’d rig a cold bucket of water to splash me into consciousness each morning. Instead, I set a complicated labyrinth of alarms on my iPhone:
The economist in me knows this problem can be solved with the right mix of incentives. The programmer in me knows this problem can be solved with the right mix of technology. Neither knows exactly what that mix is. It would be cool if I could experiment with some ideas to figure that out.
I’ve had this in mind for a while, so there are a lot of possibilities I want to try:
- Could the snooze interval decrease over time? Maybe the first snooze is 20 minutes, but the more times I hit the button, the shorter and more annoying that interval gets.
- If traffic is building up, could it wake me up earlier to compensate? What if I have an important email that came in overnight? Or that early meeting got canceled?
- Why do I even have to tell it when I want to wake up? Can’t the clock figure that out from my calendar?
- It should know what the holiday schedule is so I don’t have disable everything just because it’s Memorial Day.
- Maybe my biological clock would respond better to waking with the sunrise each day. It’d be cool to try.
- If there was a joke on screen, maybe I’d be more inclined to wake up and read it. Or headlines. Or my to-do list.
- What about tracking and gamification? Tracking wake-up times and snooze counts might create an incentive to improve.
- Integrate with a home automation system for things like turning on the lights, starting the coffee maker, or blasting the loudspeakers.
- The Nuclear Option. If I am not awake by a given time, it will call 9-1-1 on my behalf. Or send a resignation email. Or donate to a cause I despise. Or splash that bucket of water on my face.
And that’s just the beginning.
The Project
Build an alarm clock (probably a software one, but hardware would be slick) with extension points so my nerd self can go crazy programming it to wake up my sleep-deprived self. I’m not proposing an alarm clock that does any single thing above so much as an alarm clock platform that makes some of those ideas possible.
For example, it should have a way of varying the wake-up time based on some criteria I specify (perhaps via an HTTP call). And a way to display content (text, audio, or even video) from an arbitrary source. You might even be able to integrate it with a service like Zapier to trigger actions or receive input.
The Competition
There are a ton of alarm clock apps out there, to say nothing of actual, physical alarm clocks. I’m sure some of them are amazing. I’m sure some of them even implement the ideas I’ve got. But are any of them truly programmable like this? Coders gonna code, man!