Using Math to Predict My First Half Marathon
On a whim, I signed up for the Lausanne Half Marathon and I have never run further than 13 km. So I built a research-backed race time predictor and ran my own numbers through it. Here is what it says.
Thoughts on engineering, leadership, and building products.

On a whim, I signed up for the Lausanne Half Marathon and I have never run further than 13 km. So I built a research-backed race time predictor and ran my own numbers through it. Here is what it says.

After years too busy for side projects, vibe coding got me shipping again. I've been building free tools for cyclists and climbers at the weekends, and I'm loving it.
I built a free bike split calculator. Here's what happens when I tested it against four of my own Strava rides, and what the validation showed me to fix next.

How I built a free GPX-based bike split calculator to figure out if I can beat last year's 3rd place bike leg at the Geneva Triathlon.
I built an MCP server that gives Claude access to real-time Swiss public transport data. Here's how it works and what I learned along the way.
In today's digital age, having a strong online presence is crucial for a band's success. One important tool for promoting your music and getting noticed by industry professionals is an electronic press kit (EPK).
Building a modern Web application can be a complex task - it's likely that if you're looking to build something you'll start thinking about…
This week, Vercel announced the release of Next.js 12 at Next.js conf, surprising everyone, given the relatively short time span since the…
I used to object to the idea of TypeScript. To me, it didn’t seem to make sense to add static typing to a language...
This year I wrote and released Still, a mobile app for iOS and Android. Still is an app designed to help people with Anxiety and OCD relax…
React hooks are awesome. By abusing the power of JavaScript closures and with a few caveats, it’s possible to hold state in a function…
Ah, React Native animations. Long-considered to be one of the pain points of React Native development, due to their steep learning curve…
We’ve all come across stuff like this before. You’ve got a component that can display errors locally, but calls external code...