In early 2015 I have come up with an idea of logging my hours and marking each hour as productive/non-productive depending on whether I have procrastinated or got distracted for more than 10 minutes in that hour. I used an Excel table for that and counted the productive hours at the end of the day. A productive hour would give me 1 point and non-productive would give me -1 point. A neutral hour such as an hour spent on routine things around the house, commuting or sports would give 0 points. If at the end of the day I had 8 points, I would give myself a reward next day in the means of a chocolate bar.
Later on I thought, why can’t I make a simple app which would allow me to quickly log hours without relying on Excel? And that would also give me statistics over the long periods of time?
And so I’ve created a Mac OS app written in Python using py2app. I chose Python because at the time (March 2015) I was learning it while doing a part time internship at Digital Eskimo in Sydney. At work I learned Python and Django and to create my app I used those and also py2app wrappers to make a Python app work with MacOSX.
The trickiest part was to achieve syncing, I used Python Requests (a brilliant Python package for HTTP requests) and RestAPI in Django.
That allowed me to POST data from my Mac OS App to my Web Django app and sync data.
The finished project allowed me to log hours throughout the course of the whole semester, so I could see some stats.
Further improvements will include variable time periods (not just an hour) as I have recently learned in a course called Learning How To Learn on Coursera, it’s a technique called Pomodoro that trains people to use their time more efficiently.
I am also planning to port the app to Ubuntu and Windows when I have time.
The project is fully open source and is based at www.mytimeisprecious.com
Github repo: https://github.com/antonvino/precious_mac