Wed Jun 25 - Written by: Brendan McNulty

Week 26: Building a Running Tracker That Actually Works

Week 26: Building a Running Tracker That Actually Works

(and discovering APIs don’t have to be awful)

It’s rainy in Cape Town, but I went out and ran this morning.

Why?

Because my running tracker said I’m 17.4 days behind my goal. This week’s experiment was a GeoCities running tracker that plugs into Strava, read up on it 🏃‍➡️ 💨 🏃‍♂️‍➡️ 👟

The Experiment

One of the goals I set myself at the beginning of the year was to run 1000 kilometers in 2025. But I had no idea how I was actually doing against that target.

Strava doesn’t give you year-to-date totals (at least not easily), and Huawei Health buries the data somewhere in their interface where mortals can’t find it. I needed something basic: how far have I run, how far should I have run by now, and am I winning or losing this battle?

Rather than manually adding up months of data like some kind of medieval accountant, I wondered: could I build something that actually works?

The Process

Here’s how it went down:

1. Choosing My Weapon

I asked Claude about APIs for both Strava and Huawei Health. Claude recommended Strava—even the free version gives you access to loads of data. Good enough for me.

2. Claude Gets Overexcited

This is where things got interesting. I gave Claude a basic description of what I wanted—not even all the features or requirements—and it immediately started building the app. I hadn’t even finished explaining myself, but there it was: Python code, API setup instructions, the works.

Sometimes AI enthusiasm is exactly what you need.

3. Setting Up the Plumbing

Claude walked me through:

  • Getting my API key and secret from Strava (surprisingly straightforward)
  • Setting up Python on my new machine (again)
  • Building a basic local app to pull my running data

The back-and-forth was minimal—mostly just setup tweaks rather than major debugging sessions.

4. Making It Visual

My first version gave me a basic report, but I wanted to see the data. Claude whipped up bar charts and line graphs showing:

  • My actual distance vs. where I should be
  • Monthly progress
  • Whether I’m on track (spoiler: I’m about 10% behind)

Running tracker dashboard showing progress charts

5. The GeoCities Touch

Because why not? I asked Claude to style it with that raw, 90s GeoCities vibe I love. Suddenly my running data had that beautiful, chaotic energy of early web design. It makes checking my progress weirdly more fun.

The Outcome

In about an hour and a half, I had:

  • A working dashboard pulling real data from Strava
  • Visual charts showing my progress against my 1000km goal
  • A delightfully retro interface that makes fitness tracking feel less serious
  • Clear visibility into my 5% deficit (time to get out there)

The whole thing runs locally on my machine, which is both a feature and a limitation.

The Bigger Win

Beyond solving my tracking problem, this experiment taught me that APIs don’t have to be a nightmare. The Strava API was genuinely easy to work with—Claude handled all the authentication complexity, and suddenly I had my data “on tap” with no struggles.

This approach would work brilliantly for any distance or time-based annual goals: daily walks, cycling targets, even something like “read 50 books this year.”

Key Takeaway

Sometimes the best AI experiments are the ones that solve an actual problem you have. No grand ambitions, no complex workflows—just “I need to know if I’m hitting my running goal” turned into a functional app in 90 minutes.

The instant gratification was perfect: describe the problem, watch Claude build the solution, tweak as needed, done.

What’s Next?

  • Setting up automated weekly email reports
  • Hosting it on my website
  • Actually running more to close that 5% gap

Pro Tips for API Beginners:

  1. Start with a Clear Problem: Don’t build for the sake of building—solve something that actually bugs you
  2. Let AI Handle the Setup: The authentication and configuration stuff that usually kills motivation? Let Claude do the heavy lifting
  3. Visualize Early: Raw numbers are boring; charts make progress feel real
  4. Add Personality: Whether it’s GeoCities styling or something else, make it feel like yours

Want to Try It Yourself?

  • Strava’s free API gives you access to plenty of personal data
  • Claude (or ChatGPT) can walk you through the setup
  • Python makes the data manipulation surprisingly simple
  • Don’t overthink it—sometimes the simplest solution is the best one