Saturday, 9 February 2013

Reimplementing the iDoneThis memory service

Photography by wadem, CC-BY-SA
There's an excellent website called, which implements the most simple yet brilliant of services. Every day, you record the list of things you've done, and it gives you a check-mark for that day. This was motivating in two ways: firstly, the desire to keep that chain of check-marks running (what's known as a 'chain calendar' or a 'Seinfeld calendar'), and secondly by emailing you your memories of what you were doing a year (or a week, or a month) ago.

For me, knowing what I was doing a year ago was really good. I loved waking up each morning to be reminding of something I might otherwise not think of again. The good memories I was emailed would make me feel good again, and bad memories? Well, they'd often make me feel good that I wasn't going through that anymore, or they'd be insightful if I was encountering similar issues now.

I loved the memory service, and so did my friends, even if they didn't use it. I'd often send them messages about what awesome adventures we were up to a year ago, and that would often make their day.

Unfortunately, a few months ago, iDoneThis discontinued their memory-posting service. I don't know why; I can only assume they're focusing on the more corporate part of their service, and the network costs of all the personal emails wasn't worth it.

Today, as part of a productivity spiral, I reimplemented the old memories service. The code isn't pretty—unfortunately iDoneThis doesn't (yet) provide an API—but I have a bot that can log-in and fetch a day's worth of data.  Best of all, that code is open source, and available from the CPAN, so you can download and use it yourself.