I'm working on a knowledge management/internal wiki tool for organizations.
check it out

How I track my life

Have you ever wonder if your sleep time has been increasing over the years ? If you worked more than 40 hours this week ? How has your mood or your sleep quality decreased since 2 months ago ? Where were you on 27th April 2019 ? ...

I ask myself those questions all the time. It is important for me to not answer these questions with feelings and to be accurate. This make me able to make data driven decision on my sleep for example, or be sure that I don't work more for my employers than it is necessary to completes my duties. I like to think my life as an efficient thing and to optimize how I use my time, therefore I track a lot of things of few things in my life:

  • Track how I spend my time (starting in Dec 2014)
  • Track my position in real time (starting in Dec 2014)
  • Track my mood (starting 15 May 2019)

Tracking my position

This is probably the easiest thing to track, you need a phone with a GPS chip on Android (You can probably do the same with an iPhone). So basically anyone with a phone can do it. I personally use GPS Logger, it is an open source app which lets you configure most settings of the tracking: the frequency, the accuracy, the format ... and offer several ways to backup the data. You can save the location of your local disk or send it over the network straight away.

I use the custom url feature, this way the app sends a GET request to the endpoint you indicated, with the lat,long,alt info and you can secure it with a shared token.

I also save a location every 30 minutes, which is almost real time without draining too much battery.

Finally, I built a small interface to see the locations I have been to:

map of world

I have never had a use case so far on how to use this data, but it doesn't take me any time to track it so if one day I need it, I will be able to access it. I use it to inform my parents in case I'm unreachable though.

Tracking of my mood

I started tracking my mood recently, but I have been thinking about it for a long time. When I had bad days in my life and sleeping badly I wanted to understand if that was really an impression of the reality. I wanted also if being injured was having an impact on my wellbeing. So I tried looking for mood tracking app on Google Play store, and I didn't find any that suits my need. My asks were:

  • Auto sync the data on my server,
  • Can customize the scale
  • Can rate my end of day, and my sleep
  • Can note other things every day (like if I'm injured and where, or a special event happend in my life)

All the apps that I were seeing were full of ads and none let me export the data, so I use the most simple thing in the world : an Excel sheet.

There is a shortcut to the sheet on my home screen and the sheet is structured that way :

Excel

The columns are :

  • Date
  • Grade of the night on 10
  • Comment of the night
  • Grade of the day on 10
  • Comment of the day
  • My gym workout of the day
  • The list of my current injuries

Here is the grade scale I use:

  1. I'm at the hospital dying
  2. I don't see any interest in life
  3. I'm depressed
  4. I'm disapointed
  5. This was not a good day
  6. Normal day
  7. Good day
  8. Successful day
  9. Once in a lifetime event
  10. Impossible to reach

6 being the neutral point you can extrapolate what is means for the sleep quality.

You need to be consistent on how you evaluate your day, so if you fix yourself a neutral point as I do this ensures you to never shift your evaluation.

This sheet is backup every night using the Google API from a cron job, and the data is inserted in the same database than the locations points

You can see the evolution of my mood on the last 12 months (Using Metabase on the db)

Mood of day

Tracking of time/activities

I track all my activities of my life. I do it because I find it very valuable, but this is not something easy to do, thinking about updating your phone every time you change your activity is a habit that takes a lot of time to create.

At first your mind is constantly saturated by the information that you need to think to update your phone. It was like that for a few weeks, after a few months this comes naturally but this is still not automatic. After 2 years (I have been doing it for 5 years), it was completely automatic, I still forget to do it sometimes though, but it doesn't stress me out.

For tracking my time I use an app called Timetrack the app is not free, but is developed by Sergei, and this guy is pure gold, he listens to feedback, fix all bugs, if you use the app, pay for the premium even though you don't need it because he deserves it. It is only 1$ per month (I'm NOT affiliated with him). The app was originally called aTimelogger, and this is the app which inspired most of the time tracking apps that you can use now.

The app has several time tracking feature but I use only two of them:

  • The ability to start and stop an activity
  • Generating on-demand reports

Here is the main screen:

Excel

At the top you have the current activity, you can stop it, and you can click on an icon below to start another activity.

The first thing you have to do when you want to use this kind of app, is to decide which activity you want to track, and what level of accuracy you want to have.

Personally I'm interested in tracking activities that may want the data, for example, How many do you sleep per night ? How many hours doing sports per week ? How many time do you spend working ? ... but for example I'm not interested in the time I spend going to the toilets, how much time I spend on each website, how much do I spend walking when I go shopping. So the list of activities I track are :

  • Time sleeping (from putting my phone in flight mode to waking up, I would like to get time asleep)
  • Time working for my main job (This is excluding lunch and commuting, so it starts when I let my bike in the bike parking, to when I go take something for lunch and restarts after lunch to when I start riding my bike back)
  • Time working for my side projects, one activity per different side project
  • Time spent on my computer not doing something listed here
  • Time spent on my phone
  • Time taking my shower
  • Time eating (splitted if just eating or restaurant eating)
  • Time doing sport (splitted by which sport I do)
  • Time playing the piano
  • Time spending in transportation (splitted by mean of transportation, car, walk, bike, bus, plane, ship)
  • Time masturbating
  • Time going shopping
  • Time going to the supermarket
  • Time having sex
  • Time doing social activities
  • Time doing to the doctor
  • Time watching TV
  • Time spending time with my girlfriend
  • Time doing DIY stuff
  • Time washing house
  • Time reading
  • If there is no category for what I'm doing there is an activity called "anything" for anything that I don't care tracking

So basically a day of my interaction with the app would be something like that : I wake up, I change sleep to eating, I finish eating, I change eating to walking, I finish walking, I change eating to being at the gym, I finish eating, I change being at the gym to shower, I finish shower, I change shower to walking, I finish walking, I change walking to biking, I arrive to work, I change to biking to working ....

All the data I track is synced with my server in real time in the same db than the gps points and my mood.

I use the data I get from my time tracking to do two kinds of things:

  • Check how much I have done x in a week, for example if on friday morning I have already done 35 hours this week, I will leave work early. If I feel like I have spent a lot of time in my phone recently and I will check the app and react accordingly. If I spent too much of my time eating I will try to arrange to spend less time ... (This is possible directly in the app)
  • I analyze my time globally, for example if sleeping time has an influence on my mood, how have my sport habits have evolved, has masturbating an influence on my mood ( no influence ...), how much hours I have worked this year (I do that on metabase on my server). I'm sharing a few findings I got below.

One big impact that this tracking has had on my life, is the decrease of procrastination. Let me give an example, when I was not tracking my time and was procrastinating, the effort to start an activity would be to stand up, go to my desk, start doing something, and sticking to it. Now I only need to start a new activity and then as I don't want to have inaccurate tracking data I'm somewhat forced to do the acitivity. You could think that this is a trick that won't work for you, but I would have never guessed it would have worked for me either ... Often when I think about stopping an activity, I'm like "Do I really want to change my activity and what else will I do ?" and often the answer is "Well ok let's continue". That doesn't stop all procrastination but that definitely helps a lot.

Technical details

For those interested, the server app is just a django app on postgres. And the data is backed up everynight on Backbaze. Don't forget to have backups even for your personal projects. This is almost nothing to do and you will be happy to have them the day you have a problem ;)

Findings

There is a correlation between the number of hours I sleep and my night mood:

Night mood vs duration of night

There is also a correlation betwen the number of hours I work per week at my main job and my happiness

Number of hours of work vs happyness

I sleep about 8.7 hours per night, and this is about similar on the last 4 years

Number of hours of sleep

I have stopped going to the gym 4 times (due to injuries ) during the last 5 years and had to restart from scratch and thanks to covid, there will be at least a 6th time ...

week injured

Conclusion

This is not for everyone, but I know some of you may want to have to access this kind of data. I've been thinking to rate my mood for years but didn't take action until recently, and now I regret it, because I will not be able to get that data back, and the worst thing is that it is a process that takes 30 second per days and will help you how to improve your wellbeing and your sleep quality. So if you think about that kind of things, don't wait, the tools exists, start doing it.