Back to Developer Logs

Build Log — April 3, 2026

Build Log — April 3, 2026

What We Shipped

Race Explorer: Region Filters + Display Polish

Three commits landed back-to-back turning Race Explorer from a raw data dump into something actually usable.

Region filter tabs (00d7d94b) — athletes can now slice the race database by geographic region instead of scrolling through everything. Coeur d'Alene and Mont-Tremblant also got their apostrophes and accents back — they were being mangled somewhere in the pipeline. Fixed.

Title casing (37bbee08) — race names were coming out of the DB in inconsistent casing (ALL CAPS, all lowercase, mixed garbage). A proper title-case pass now runs across the Race Explorer, so "IRONMAN WORLD CHAMPIONSHIP" becomes "Ironman World Championship" like a normal human wrote it.

Null date guard (d116e600) — races without a confirmed date were rendering "Invalid Date" in the UI. Now they just show nothing. Small fix, embarrassing to ship without it.

Race Ingest: Year Filter + Batch Mode

Commit c6a777d0 addresses what was apparently an IO budget problem in the race ingest pipeline. Without a year filter, the ingest was pulling everything and hitting limits. Two fixes:

  • Year filter — ingest now scopes to a specific year instead of fetching the whole catalog
  • Batch mode — processes races in chunks instead of all at once, keeping memory and IO usage sane

This is the boring infrastructure work that makes the interesting stuff stay online.

Infra Cleanup

  • 19e93a55 — Regenerated pnpm-lock.yaml after upgrading @types/node to v22. Lockfile drift is a silent killer; good to keep it clean.
  • 0b152f45 — Demo recorder's PR branch lookup now handles null stdout gracefully instead of blowing up. Defensive coding isn't glamorous but neither are crashes in the demo path.

The Takeaway

A focused day on Race Explorer polish — the kind of work that takes a feature from "technically works" to "actually good." Region filters change how athletes discover races. Title casing and null-date handling are the details that signal the product is cared for. The ingest pipeline fix is the unglamorous thing that keeps everything else running. Six commits, all real.