Dev blog

Notes from the workbench — decisions, dead ends, and the occasional victory lap.

Jun 21, 2026#design4 min

Why hexagons?

The very first mobile mockup, drawn in 2024, had a honeycomb of sessions on the home screen. Two years later it survived every redesign. On what a week actually looks like when it tessellates, and why calendars lie about rest days.

Read
May 09, 2026#backend7 min

Storing raw TCX in MySQL: a pragmatic heresy

Everyone said "put files on disk". But on a €3 shared host with FTP-only deploys, a MEDIUMBLOB column is the boring choice that survives migrations, backups and moves. Benchmarks, max_allowed_packet traps, and when we'd revisit.

Read
Mar 30, 2026#beta3 min

The invitation-only beta is open

Every account now starts with an invitation code — single-use, seven days. Why we're gating registration during the beta, how invites propagate, and what "limited number of users" means in practice.

Read
Jan 17, 2026#design6 min

Designing under the aurora

How the Revontulet design system came together: polar-night neutrals, an aurora accent band, one warm fox counter-accent, and sport colours lifted straight from the original product mockups.

Read
Nov 02, 2025#alpha5 min

One year of dogfooding

365 days of importing my own runs, rides and swims into the alpha. What broke (pool lengths), what stuck (the Rêve on top of the dashboard), and the features I deleted without regret.

Read