Time Tracking Using Plain Text and Drafts - Part 2 (The Format)

At its most basic level, my plain text time tracking consists of a simple, intuitive, and flexible format for typing out how I spend my time on a given day. I make the process easier with Drafts actions, but they aren’t necessary.

Here’s an example of a plain text time slip:


2020-02-07 (Friday)

08:30 ABC Corp. - Review lease.

10:12 XYZ Co., motion to dismiss - Prepare for oral argument of upcoming motion to dismiss.

12:06 lunch

Had a great lunch at new sushi place.

13:00 ABC Corp. - Review and respond to addition email question from Mr. ABC.

13:30 Jones, meetings - Interview Ms. Jones regarding dispute with business partners.

14:48 Jones, strategy - Prepare memo outlining potential claims.

16:30 ABC Corp.

17:00 head home

Remember to buy wine on the way home!

This time slip has the advantage of being easily readable as is. The format has only two requirements:

  1. First, somewhere in the note (usually at the top), I need a line that starts with the date in ISO format, e.g. 2020-02-07 in the above.
  2. Second, the note includes a series of lines that start with a time, identify the client, and describe the work being done in the following format: HH:MM client name [, optional project name] - Description of work.. Everything except the time and the client is optional.

Any lines that do not start with HH:MM are ignored. That gives me the flexibility to add whatever additional whitespace or information I may want between time entries without mucking up the eventual calculation (like the notes about sushi and wine above) My only caveats: client name and project name (if any) can’t include a , or the - (space-hyphen-space) sequence, since those are used to identify the breaks between client, project, and description.

That’s all there is to it. It’s easy to remember, provides all the information usually required for billing, and is easily human readable.

To make it even easier to type this format I’ve taken two additional steps:

  1. Creating a button in Drafts that inserts the current time. It’s just easier to hit that button than to type out 14:32 or whatever the time happens to be. (As a bonus, you can optionally have the insertion button round the time to the nearest tenth or quarter of an hour, depending on you billing practices.) Here’s a very basic example.
  2. Creating an action to start a timeslip on a new day. This action creates a new draft, inserts the date (with the day of the week in parentheses), a couple of line returns, and the current time. I can run that action when I get to work in the morning (or even use a shortcut to prompt me to do so).

So far, so good. My next post will address how I use Drafts to manipulate the data in these time slips.