Programming My Diary

09 Jul 2020

See part 2 here.

I don’t think I’m alone when I say that I go through ebbs and flows with regards to how much I have on my plate at one time. Between work, open source, reading, and watching youtube courses, there are a lot of things that fill my day up, not even counting maintaing relationships, doing chores, and taking care of the dog. Just the list of things I ostensibly do for fun seems to induce carpal tunnel syndrome when I write them out. This is not to say I think I have a more full life than anyone else. I actually think most people my age are like this.

Something that I’ve noticed as a commonality between all these things is a sense of steady, linear progress with visible indicators. Between my github commit chart, the march of doggy eared pages in my books, and the once in a while “I can’t believe we’ve been dating for almost 4 years”, I acutely feel a pleasent sense of time passing.

I toyed with the idea of doing some type of diary for years now. I start, usually with some new method in mind like bullet journalling or a vim wiki, keep it up for a few days, then forget about it. Perhaps the friction is too high for me to get over the ~21 day hump to make it a habit.

The funny thing is, up until a couple years ago, I did have a journaling system that I maintained daily for years, my twitter. The great thing about twitter was that there was virtually no friction to making a post. In addition, I could add any media I wanted and I got to crossreference other people’s diaries so there was a major element of fun involved.

I don’t want to go back to twitter, for various reasons, but I do want to capture that frictionless way of interacting with my diary.

At the same time, I’ve been rolling around an idea of a github commit visualization for my life. Instead of a traditional diary, what if I had an interactive visualization with low friction for updating? I’m thinking of a d3 visualization that is a combination of a heatmap graph, notes, and perhaps some progress bars. I could send a text message to an email address, old school twitter style, that would be parsed and automatically added to some json data. I could even tie in data from my Anki, or git - so that when I study cards or commit code or even text to some document, the changes could be reflected in the visualization.

It could be hosted right here, on my website.

See part 2 here.