199 dogs and counting

Introduction my new pet project: a page where I show where I’ve run but most importantly, how many dogs I’ve seen.

TL;DR: you can check how many dogs I’ve seen during my runs here.

I mentioned in a week update that I started counting the dogs I see during my runs. I realized that it was a good way to keep my mind just busy enough to enjoy the run without overthinking everything I have going on in my life right now, the news and so on. At first, I put those numbers in an Obsidian note, but then I realized it would be fun to make a tiny website for it.

A screenshot of the website showing that the total is 189 dogs and listing the first 2 runs

The website uses 11ty. I used it to create the website for Sound Games and I really like it, even if the documentation feels a little “draw the rest of the owl”-y at times.

I’m storing the data in a basic JSON file:

[
    {
        "date": "31/12/2025",

        "location": "New Westminster",

        "distance_in_km": 9.47,

        "count": 72
    }
]

Additionally, I’m using a data file named eleventyComputed.js that the engine will load if it exists, which allows you to transform existing data. In my case, I’m using it to compute the total number of dogs and store it into a variable named total that’s available in my layout:

module.exports = {
  total: (data) => data.stats.reduce((acc, stat) => acc + stat.count, 0),
};

Finally, since it’s a very simple website to host, I decided to experiment a little. I followed this article and decided to put it on Bunny.net (shameless referral link), in the hope of moving this website out of Netlify. It didn’t take me long, I just had to create a storage zone, create a pull zone, configure the DNS and upload my generated website. I didn’t do the continuous deployment dance yet, because even I knows that would be overkill at this stage.

It was a really fun project to kickstart after spinning it in my head for a couple of days. I have a bunch of ideas that I want to implement because it’s a little boring-looking right now and it’s really hard to ignore that I lazily used Bootstrap. A project like this needs to be at least 46% more whimsical. In the meantime, you can check how many dogs I’ve seen during my runs here or check out the source code here.