3 steps to quantify your habits

Sasha Devol
4 min readMar 8, 2018

--

For the last 2 months, I’ve been assigning myself 6 tasks every day — divided equally between personal and income oriented activities. I put together my list of things to do each morning, and sometimes add an item the day before.

I don’t carry over tasks from previous days, if a task is important, i’ll come up with it again. When I don’t complete a task, I reflect the next day why I didn’t get to it. I often learn that what I didn’t complete, simply wasn’t more important than what I did with my time instead. I also don’t let recurring tasks get on the list. For recurring tasks, I use my 20 step morning routine, which I complete before I get started on my 6 daily tasks.

One of my tasks today is to quantify how many tasks I’m getting done each day. I wanted to keep my tasks in Dropbox Paper. I didn’t want to consider moving to another to-do list manager that had built in tracking , so I found myself needing to track how many tasks I completed each day on my own. I had trouble finding something that would track arbitrary metrics, so I did what I love doing: I built my own personal analytics pipeline.

I reflected on using google sheets for this, but I needed a way to make tracking effortless. So I used Workflow to collect what I wanted to track, Airtable to store and visualize the data over time, and Zapier to get the two to speak to each-other.

Running our workflow from the iOS app launcher.
After 1–2 seconds, our info shows up magically in Airtable

Step 1: Setup your base in Airtable.

If you’ve never heard of Airtable before, it’s basically Excel on steriods. Airtable is similar to a relational database. It supports attachments, collaborators, smart formulas, forms, grouping and is well integrated with hundreds of tools.

We’ll create a new Airtable called “Metrics” with the following fields:

  • Date
  • Event
  • Value

Step 2: Create a Webhook Zap

Zapier lets you create “if this then that” behaviors between hundreds of services. A webhook is a URL which can receive a “ping” and use the data sent in that ping for later steps in the zap. Once setup, Zapier will give you a URL which we can enter later into Workflow.

Once we have our hook, we need to ping our hook from the Workflow app.

We’ll start with a List which we’ll present to ourselves as a list of metrics to choose from. Then we’ll ask for the value of what’s being tracked. We’ll use those two values and send them along with our ping to the URL we generated earlier.

Here’s what the list and prompt look like in Workflow.

Here’s the setup for asking for the value of what we are trying to track.

Here’s the configuration that takes the value and metric and ships them to our Zapier Webhook URL.

Next, we run the workflow so that Zapier will have something to work with for the next step. Click the play button at the top of the workflow. Once the workflow has been ran, Zapier will show you what it received from the test ping.

We now have three fields: value, date, and event. Now let’s setup Zapier to send that info to Airtable.

Step 3: Add Airtable to our Zap

Add a step to the Zap, choose Airtable as the service, then select “Create a new record” as the action.

Choose the Airtable you made in Step 1. Then match the fields provided by the test ping to our webhook.

That’s it! Turn on your zap. When you want to record whatever you want to track, just run the workflow.

Once our data is in Airtable. We can hook it up to anything we want. Airtable supports charts and graphs, so it’s simple to see our progress over time.

Enjoyed this how-to? Buy me a drink on Venmo @tastycode or Square Cash https://cash.me/$tastycode.

Building data pipelines like this makes me unreasonably happy. If you need help building a fancier BI/ETL pipeline on Redshift or BigQuery, we should talk.

--

--