Four years ago on new years eve, I set out to build for myself a robust habit of habit engineering. Looking back, doing this has been very transformative for me.
I was originally inspired by Benjamin Franklin’s autobiography. He used to keep a sort of spreadsheet with a row for each day of the week and a column for each habit he was working on. In each cell he would mark whether or not he succeeded for that day/habit:
Over the years, my version of Franklin's spreadsheet has evolved into a kind of personal "life operating system" that I call walrOS. It looks like this:

walrOS these days helps me stay accountable to 16 daily habits, track my time via a set of command line tools, manage finances, and durably learn new ideas by reminding me to review them at the right times. Some lessons learned 👇
walrOS started out dead simple as a single sheet with four columns tracking four core habits: sleep well, exercise, meditate, and update habit tracker. Ever since, it has become a kind of ongoing side project that I leisurely spend time on from time to time.
Over time, working on (and tracking) these simple, first order habits helped bootstrap the crucial second order habit: the habit of being on the lookout for other useful habits to add to the repertoire.
This new habit also entails coming up with crafty mechanisms that help me stay on track, as well as metrics that reflect progress made (and thus motivate me to double down).
A habit of engineering habits for yourself is the one habit to rule them all. It contains within itself the means to change anything about your life. It's powerful stuff 💫
One thing that came out of this for me is the habit of learning better by using spaced repetition. The idea behind it is to successively review things you learn, not immediately, but only as you're starting to forget them.
With each successive review, the amount of time between reviews increases exponentially, so it's not long before reviews are spaced out by many months or years.
The exponential falloff in review frequency is so quick, that the time commitment to doing this is not materially larger than the time spent learning the original thing in the first place.
So, several years ago while I was at Google and wanted to level up my knowledge about Machine Learning, I set out to spend 30 min per day reviewing concepts and ideas that were due for review on that day.
I built into walrOS a simple system that tracks the things that I never want to forget. I use @rememberthemilk to track concepts and wrote a hacky script that uses its APIs to automatically schedule future reviews. Code is here.
@michael_nielsen wrote this fantastic blogpost about spaced repetition and the system that he uses.
Another big habit for me has been waking up early and working on the single most important thing before doing anything else. See this tweet from a few months ago:
"If you want success, figure out the price, then pay it."
––Scott AdamsIt's a surprisingly powerful idea. Once upon a time, I wanted to become a Machine Learning researcher. I woke up at 4am every weekday for a year to put in 3 hours of learning before work, and viola! :)
More recently, I've been trying to do more writing. Writing is hard for me because I end up feeling a kind of hyper-perfectionism that can be paralyzing.
As of two months ago, I'm giving myself time every day to do at least 500 words of non-stop, steam-of-consciousness writing. I added a habit column to walrOS and have been using this web app to make sure the writing is non-stop.
A few other habits include: writing down how I want the following day to go down right before bed, limiting time on social media, and taking a 3 min cold shower every morning.
This all may all sound like a lot, but it's just the sum of a thousand micro improvements on top of a simple foundation over four years. The key for me to getting any of this to stick was to start simple. All I needed to get started was a four column spreadsheet 🚀