I use Strava a lot. For anyone unfamiliar, Strava started as a cycling app but has grown into a platform for all kinds of activities. It lets you upload workouts, track stats, compete on segments, and crucially connect with other people doing similar things. For a data geek like me, it's brilliant.
Strava offers a free tier with a generous set of features, and a premium tier that unlocks more detailed insights. I used to pay for premium, but a few years ago Strava removed a feature I relied on: the ability to connect my heart-rate monitor to my phone and view that data directly in Strava. That broke my setup, so I cancelled premium and moved to a Garmin device, which I still use today.
Strava has a reputation for making occasionally... bold product decisions. This is one of them.
The Missing "Year in Review"
One feature Strava removed more recently was the "Year in Review." At the end of each year, it's enjoyable to look back at your statistics and reflect on what you've done. This used to be part of the free account.
While I understand and accept that developers and infrastructure cost money, and that features may need to move behind a paywall, it was still something I genuinely enjoyed using.
With the recent advances in AI, and given that we now regularly use tools like Claude Code to build software, I started wondering how difficult it would be to recreate this functionality myself. It turned out to be trivial. Within minutes, I had a small Python program that connected to Strava's API and produced a year-in-review style summary:
From there, it was easy to extend. I could create different types of statistics, create new insights and parameterise the script to compare different years.
Overall, it took less than an hour to build something that met my needs.
Heat Maps
Another premium feature I missed was Strava's heat maps. These visualise where you've been over a given period, with frequently travelled routes glowing more brightly.
Recreating this took a bit longer, largely because it involved geospatial data and mapping. I already had some experience with geo-located data and tools like OpenLayers, so while the AI needed a bit more guidance, it wasn't particularly onerous. I was able to build a working heat map visualisation that did what I needed:
It wasn't as polished as Strava's implementation, but it was more than good enough for my purposes.
Is SaaS Dead?
This experience got me thinking about a broader question that's been asked recently, including by Satya Nadella, the CEO of Microsoft: Is SaaS dead?
Can we now just knock together tools on a whim using AI?
My conclusion is probably not. There is far more to Strava than the features I recreated. The real value lies in the network effect, the community, the connections and the historical data built up over many years.
Strava could easily change its business model: adjusting free and paid features, or even putting API access behind a premium tier. In that scenario, requiring a paid account to build tools like mine would be entirely reasonable, and I'd likely accept that.
Reflections on My Own Business
This also made me reflect on our own business at Xerini. We have a software product that we've invested in heavily over time, enabling us to deliver solutions faster and more cost-effectively. That advantage comes from accumulated IP and experience built up over many years.
The concern is whether AI could suddenly make all of that irrelevant by allowing someone to "vibe-code" a competing product. But in practice, the value of a business is not in the code itself. The code is a very small part of the overall value.
Real value comes from:
- Marketing
- Sales
- People management
- Domain knowledge
- Experience gained by solving real customer problems
"Our software exists not because of the code, but because of repeated exposure to customer problems and the insights gained from solving them."
In our case, we are highly consultative. Our software exists not because of the code, but because of repeated exposure to customer problems and the insights gained from solving them. That experience can't be replicated simply by generating code.
Software as an Asset and a Liability
There is a common argument that software can be more of a liability than an asset, and in some cases that is true. Software costs money to maintain and operate. However, like any asset, its value depends on how it is used.
Tools, machinery, and systems that generate revenue all require ongoing maintenance and investment. Software is no different. We often say, "If you build it, you own it," and that means owning both the asset and the liability.
If you build it, you own it.
This is one reason we've moved away from bespoke software development for clients. Instead, we focus on repeatable, templated solutions. This reduces the long-term maintenance burden for both us and our clients.
Closing Thoughts
No one writes software in assembler anymore. Similarly, we don't build our own web servers or low-level tooling; we rely on open-source software and abstractions that let us move faster. AI is simply the next step in that progression.
While AI dramatically accelerates development, the real value still lies beyond the code itself. The code was never the point.