Two of my New Years resolutions were to journal every day, and ever tell someone that I'm too busy.

For a while, I've known that I haven't been the best steward of my time. I often find myself working when I should be spending time with my family, and vice versa.

So a few weeks ago, I started tracking my time more carefully. I like to carry around a small notebook in my back pocket. Throughout the day, I would keep a log of the activities that I was doing. For example:

05:09 Shower/devotions
05:55 Analysis of Stanford experiment
07:33 Family devotions/breakfast
07:40 Breakfast with Joe Smith
08:20 Walk/water garden

This would then go into an excel spreadsheet that would read something like this

Date Time in Time out Category Notes
2021-08-23 00:00 05:00 Sleep Sleep
2021-08-23 05:00 05:09 Excess Snooze
2021-08-23 05:09 05:55 Health Shower/devotions
2021-08-23 05:55 07:33 Health Stanford
2021-08-23 07:40 08:20 Social Breakfast with Joe Smith
2021-08-23 08:20 Health Shower/devotions

This excel spreadsheet is then parsed in Python

import matplotlib.pyplot as plt
import pandas as pd
from matplotlib.patches import Rectangle
import matplotlib.ticker as mticks
from pathlib import Path

filename = Path('2021-w35.xlsx')

df = pd.read_excel(filename).dropna()
def to_hr(datetime_time):
    return datetime_time.hour + datetime_time.minute / 60

df['hrs'] = df.apply(lambda row: to_hr(row.Out) - to_hr(row.In), axis=1)

## Define colors

colors = {
    'Health': '#2ca02c', # Green
    'Stanford': '#E70E02', # Red
    'NG': '#ff7b00', # Tan
    'Branding': '#FFD275', # Light tan
    'Disengaged': '#444',
    'Clean': '#84e3c8',  # Pastel Grean
    'Sleep': '#1b4332',
    'Church': '#809bce', # DArker blue
    'Review': '#fdffb6',
    'Family': '#ffc4d6', # Light pink
    'Favors': '#FF00FF', # Neon purple
    'Excess': '#000000', # Black. Avoid wasting time
    'ACF': '#A54657', # Darkish purplish brownish
    'Creative': '#EE82EE', 
    'Social': '#9bf6ff', # Pastel blue

## Do all the plotting here

fig, ax = plt.subplots(figsize=(6,2))

for idx, row in df.iterrows():
    r_in = to_hr(row.In)
    r_out = to_hr(row.Out)

    x = r_in
    y = (row['Date'].weekday() + 2) % 7
    if y == 0:
        y == 3.5
    width = r_out - r_in
    height = 1

    rect = Rectangle((x,y), width, height, color=colors[row.Category], ec='None')

plt.ylim(7, 1)
plt.xlim(0, 24)


days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
ax.yaxis.set_minor_formatter(lambda x,pos: days[int(pos-1) % 7])
for tick in ax.yaxis.get_minor_ticks():

ax.axvline(6, ls='dashed', color='black')
ax.axvline(18, ls='dashed', color='black')
ax.axvline(21, ls='dashed', color='black')

plt.savefig(filename.stem + '.png')

The output creates plots that look like this:

  • 2021 Week 33


  • 2021 Week 34

  • 2021 Week 35

How to interpret these graphs

On the x axis, I'm plotting Military time. The y axis plots the day of the week.

I try to wake up every morning by 5. That's when my alarm goes off. I don't always get out of bed when my alarm goes off, and so I count all of the time between 5 am and when I get out of bed as "Snooze time" which falls into the "Excess category." Anything that I mark as "Excess" is time that is wasted in activities that I should do less of. Other types of things that fall into this category include playing video games solo, wasting time on social media, YouTube, etc...

Usually the first thing I do each day is spend some time showering, going for a walk, and doing devotional activity. I broadly categorize these as "Health" activities, and they get plotted in green.

My goal is to start my work day Monday through Friday by 6 am (before Mateja wakes up). I do a pretty bad job of hitting my goals. Different "work" activities are shown in a warmer palette.

In the evening, after 6 pm (18:00), I try to reserve that for family/social/domestic activities. These activities will tend to take a lighter pastel palette.

My goal is to be in bed by 21:00, but sometimes we don't make that goal. I've noticed a trend that I have a very challenging time waking up at 5 if I go to bed significantly after 21, so I've tried to be a bit more intentional about winding down by 21.

I also have a category called "disengaged" which refers to any time that I'm doing some sort of busywork that is not really advancing any of my goals. This includes activities like calling customer support, commuting to work (without calling family while I drive), eating alone (not with someone else, which would count as social/family), etc... I'm challenging myself to make the best use of time when my mind would normally be disengaged, and making those little minutes count.

A master table of the meaning of all the colors is shown here:

#1b4332 Sleep In bed, lights out
#2ca02c Health Devotions, walking, showering
#e70e02 Stanford Time spent tending to lab responsibilities or advancing towards my PhD, not merely time spent *at* Stanford
#ff7b00 Northrop Grumman Time spent doing remote intern work at Northrop Grumman
#A54657 ACF Adventist Christian Fellowship, either the Stanford Chapter, or the NAD Executive Committee
#ffc4d6 Family Time spent with Mateja or other immediate family
#9bf6ff Social People outside my family
#84e3c8 Clean Cleaning the bathroom, living room; washing dishes; sorting through mail/e-mail; reconciling finances
#ffd275 Personal Branding Blogging, podcasting, working on SimpleDoesIt, anything to develop my personal brand
#809bce Church Various stuff for Mountain View Japanese Church (e.g., sermon preparation, helping refugees, fundraising, mentoring)
#fdffb6 Review Time tracking, planning out my week, journaling
#ff00ff Favors Personal favors (e.g., giving a ride to the airport, helping someone file for unemployment)
#ee82ee Creative Arts and crafts, often working with my hands (e.g., kintsugi, chain maille, other arts and crafts)
#444444 Disengaged Driving, running errands, eating alone, waiting for customer service
#000000 Excess Wasted time (e.g., solo video games, social media, watching YouTube)
#ffffff Untracked Intentionally or unintentionally untracked time (e.g., time spent on vacation, life gets really hectic)

I plan on continuing to track as long as it doesn't consume too much overhead. It probably takes about 1 extra hour per week right now to track (while I'm doing some fine tuning on the graphing software, and shuffling around colors and categories). While the hour seems to be a lot, it does provoke a lot of reflection. It's been an awesome conversation piece to look at one of these graphs with my family and close friends, and to discuss time management and prioritization. There are a couple key takeaways that I've been able to make

  • I don't spend nearly as much time "working" as I thought. Although I may physically spend time at a computer or a desk, the amount of productive time per week is nowhere near what it could be. This is something that has long bothered me, and I'm hoping the exercise of diligent time tracking will help.
  • While I aspire to have good sleeping habits, I don't have a regular enough sleep schedule/routine. Ideally, I'd like to be up every morning by 5 on the dot, and get 8 hours of sleep.
  • When Mateja and I look at this as an entire week, we both agree that my life is scattered. I would love to see nice columns (as opposed to rows) of continuous color that would correspond to regular habits throughout the week. So a column of green at 5 am followed by a column of red at 6 am, followed by a column of pink at 7:30 am (for breakfast) followed by a column of red again until lunch time. While I like to think that I'm organized and focused, these charts suggest that in reality I am scattered, impulsive, and disorganized.
  • I tend to do volunteer work throughout the day, whereas it would be much more ideal to shift that time towards the 4-6 pm time slot. The same could be said for checking email, calling customer service, running errands. I want to leave the morning and early afternoon for productivity, and the later parts of the day when I'm more tired for less productive activities.

Now that I've built up the habit of tracking, I'm now going to start gamifying this process, and keeping a score card for each week. The score card will quantify:

  • # of hours snoozed each week (lower the better, target: =0)
  • # of hours for Stanford each week (target: =36)
  • # of hours for Northrop Grumman each week (target: =8)
  • # of hours of Stanford/Northrop Grumman after 6 each week (target: <2)
  • # of hours before starting work on Stanford each day before 6 am (e.g., try to start working on Stanford activities at or before 6 am every day, and keep track of every hour it takes for me to get started)

I'm hoping to post an update by every Friday afternoon to the world. This will help me to be more faithful in stewarding every minute of time that I have, and also help me to be more honest with the commitments that I've made. In the \~20 days that I've been doing this so far, it's already helped me to make some important adjustments, but I know that old habits take a while to break.

Our time belongs to God. Every moment is His, and we are under the most solemn obligation to improve it to His glory. Of no talent He has given will He require a more strict account than of our time. The value of time is beyond computation. Christ regarded every moment as precious, and it is thus that we should regard it. Life is too short to be trifled away. We have but a few days of probation in which to prepare for eternity. We have no time to waste, no time to devote to selfish pleasure, no time for the indulgence of sin. It is now that we are to form characters for the future, immortal life. It is now that we are to prepare for the searching judgment. Christ’s Object Lessons p. 342

I want to thank you, reader, for reading this, and for holding me accountable.