Aug 26, 2026
The migration problem isn't the data
I asked a coach what would actually stop him switching platforms. I expected data export. His answer was finding exercise videos for the uncommon movements he programmes.
Read more →I'm building a coaching platform for trainers in my free time. Stack decisions, trade-offs, and the things that broke.
Aug 26, 2026
I asked a coach what would actually stop him switching platforms. I expected data export. His answer was finding exercise videos for the uncommon movements he programmes.
Read more →Aug 19, 2026
Altcha instead of reCAPTCHA, self-hosted Umami instead of Analytics, fonts off the CDN. Why the font swap is the one people miss — and why it's faster now anyway.
Read more →Aug 5, 2026
Slower to write than anything I already knew, and a compiler that won't let me cut corners. The honest reasoning behind picking Rust for a solo project.
Read more →Jul 26, 2026
Specta generates the client types from the API's own Rust structs, so the mobile app and web dashboard can't drift from what the API actually returns.
Read more →Jun 24, 2026
Mobile app, web dashboard and API as one monorepo — why Rust and Axum for the API, and the Specta-generated type contract that killed mobile/web mismatch bugs.
Read more →