The methodology around my accountability trackers 👨‍🔬

NOTE: This page has been deprecated, go here


Background

The initial idea for this feature just included tracking my commits to personal projects each week as a way to increase accountability, but since then, this feature has evolved into much more.

After launching, I quickly added more goals and increased the intensity. Read my first impressions post for more details.

I now use noticeably more tech for this feature, and expect that to increase as I track more metrics and leverage additional data to make the trackers more useful. Which is why I decided to start this living page.

Read on to find out how each tracker works, what I'm planning on trying out, and things I've already tried out or built.

Current Methodologies

GitHub commits

This tracker is fully automated with real-time data. It currently fetches all of my git commits using the official GitHub API, filters out the commits to repos I don't directly own, and then counts the number of commits I've made in the last 7 days.

I've also added a simple trend indicator next to the progress percentage that indicates whether progress is up or down week-over-week.

Movement

The movement tracker is fully automated with daily data. It uses the Apple HealthKit API (opens in a new tab) via an iOS app on my phone. I used Apple's Mobility Health App (opens in a new tab) sample project as a starting point before integrating the database and accessing the specific data points I wanted.

With this, the app is now able to read my walk/run distance daily and push that to my site's Firebase Firestore Database. For more information, see this post that I wrote on accessing iOS health data.

I've also added a simple trend indicator next to the progress percentage that indicates whether progress is up or down week-over-week.

Mandarin Chinese

This tracker is fully automated with daily data. Because I use hackchinese.com (opens in a new tab) to drill vocabulary, I have that data relatively accessible.

I wrote a script that runs via GitHub Actions once a day, collects the vocabulary count from my account, and pushes that as an entry to the relevant collection in my project's Firestore Database.

As with movement, I've added a simple trend indicator next to the progress percentage that indicates whether progress is up or down week-over-week.

Singing practice

This tracker is not currently automated. I directly enter an entry to the relevant Firestore Database collection that contains entries mapping to dates of when I recorded a practice session. The last 30 days of entries are pulled from Firebase when displaying the tracker.

While there is a path forward for full automation (via accessing the files generated from the Voice Memos app on macOS), I do want to always keep at least one tracker manually updated to ensure that I'm still looking at my site each day.

As with movement, I've added a simple trend indicator next to the progress percentage that indicates whether progress is up or down month-over-month.

Future plans and experiments

These are simply ideas that I may or may not try out in the future. I'll update this page as I try them out and move them to Previous plans with comments on whether they were implemented or scrapped.

The list of ideas in no particular order:

Previous plans

Plans that I've either implemented or scrapped, preserved for posterity in chronological order (most recent first):


Last Updated: Thu Dec 29 2022

Related

Post

First impressions on public accountability trackers

Oct 19 2022

Looking for more posts?


Monthly Newsletter

Coming soon - be the first to receive my new monthly newsletter.


Looking for a full-stack iOS/web developer for your project? Email me at hello@skyporch.co.
© Gabriel Uribe.RSS