Weekend: Efficiency Tracker

With the day being dark and stormy over here on the Treasure Coast, what better way to spend my indoor time than to pump out another weekend project?

As a freelancer who mainly works with client projects, time is money. Every hour I spend working means income, every hour I don't means no income. For the most part, I think I do a good job with this "work at home" routine. I divide my projects by priority into half-hour/hour blocks, which are fit into the 7 hour window I assign myself for work everyday (9am - 12pm for mornings, 2pm - 6pm for the evening). I'm fairly strict with overdoing it with my work schedule because I'm well aware that in the freelancing game, the lines between work and free time can become blurred when you're not careful.

An example of dividing my time into blocks

Fortunately, I don't have that issue, and all through college I learned how to organize my time in a way where I know that free time is free time. Rarely does a client have some emergency I must attend, and so unless absolutely necessary, I have my long lunch break (usually try to sneak in a power nap before I get back to work) and stop everything after dinner without inconviencing my life with boring things like "stress" because of work. However, although I am strict about having my free time, I am not as strict about letting that free time sneak into my work time...

If I take a break (be it on purpose or on accident) I generally end up having to stop within a 15 minute window to get myself back on track. So let's say I started working at 9am, finish a 1 hour block at 10am and then started some random youtube video. The video was 7 minutes long and now I've ended up reading some other things in my RSS feed in the mean time. This "wasted" time isn't something I can bill a client with, and so I am not going to start working again and clock another hour block starting from 10am.

What I'll do instead is let my break continue till 10:15 and then start counting from there. Yes, I could technically start it at whatever time I want, but I just want to have my start/end times be somewhat coherent I guess. Anyway, the whole point being that I'd like to at least do actual work 6 of the 7 hours I dedicate during my day to what I need to do, and not burn more time than necessary on breaks.

AND SO, after that long-winded introduction, the project: a sort of time tracker that will graph my morning/evening hours, allowing me to compare it to my "target" hours. The goal is that I'll be able to see if I'm losing more hours during a certain half of the day, if it's during certain days, or if I'm just getting to carefree with my naps.

Brown line is the target, the other line is the recorded time, morning on top, evening on bottom

It's simple, but we'll see how it works. It's powered by Meteor once again, though honestly it's probably a little overkill for something this small (but hey, more practice for me!), uses Chartist.JS for the responsive SVG graphs (which lets me animate the dashed line with CSS) and stores everything in localStorage with the help of the aptly named store.js.