Essays on Technology and Culture

Just Do The Thing: A Programming Project

I went to college to study Computer Science. It ended badly. I wanted to learn to write code, maybe make computer games. I ended up taking the same math class seven times in three semesters (they were half-semester courses, and one try was a two-week rush session between semesters). I ended up failing out, and refocusing on earning a degree in English.

Back in November, I decided it was high time to get back in the game. Knowing I teach myself best when I have a project to work on, I picked up a couple of eBooks, scoured Google and StackExchange, and began working on an app idea I’ve had bouncing around in my head for probably close to two years. I decided to build it in Vanilla JavaScript, with a little help from jQuery, since I already have solid fundamentals in HTML and CSS.

It’s a simple app: a tool for tracking goal progress. You check in every day, and mark whether you accomplished your daily goal or not. You only get to track one goal at a time, and you get a one-day grace period if you fail to check in. I call it: Just Do The Thing. Since late November, I built it out from a basic prototype into a largely fully-functional in-browser web app. It stores all its data in the browser using Local Storage, and has only two dependencies: jQuery, and calendar-base, ’cause who the hell wants to write their own calendaring system?

Amazingly, a lot of CS 101 came right back to me. I had to adapt a bit to JavaScript—my programming courses were taught in C++, and I hadn’t touched JavaScript as a hobbyist in about fifteen years. Thank goodness for the wealth of programming knowledge on the web. Whenever I hit a roadblock on how to do something, I was only a search away from help. As for roadblocks on program logic—I was on my own. So far, so good.

I’m now ready to show off the fruits of my labors. You can find the code at, and you’re encouraged to poke and prod it to see where it breaks. Just today, I finally cracked (I hope) a long-standing bug based on my incorrect assumptions around date math, which means it actually works the way I intend.

There’s still more to be done. I don’t want to rely on native alerts, and the app itself is still pretty homely. Once it’s feature-complete, I’ll be making it look pretty, adding some responsive layout functionality, and throwing it up at You can expect an announcement here, when that happens.