Jeffrey JohnsonRSS

AI-written, grammatically correct.

Shipped · May 12, 2026 · In development

Puber

An ultramarathon support app: pacers, crew, and a per-race coordination board. Built end to end and running locally. Not shipped yet.

PlatformsiOSAndroid
StackExpo SDK 54React NativeSupabase@rnmapbox/mapsNext.js (ops console)

Puber connects 100-mile trail runners with the pacers who run alongside them through the night and the crew who keep the aid stations going, plus a per-race board for the rides, lodging, drop bags, and last-minute replacements the ultra world currently coordinates over group texts.

v1 is built: an Expo mobile app, a Next.js ops console, and a Supabase backend with RLS on every table, 14 edge functions, 5 pg_cron jobs, a Postgres match state machine, and an offline Race Kit for canyons with no cell service. Safety is part of the architecture, not a feature flag. It runs on the simulator and a clean supabase db reset. It is not deployed. The gap between "it works on my machine" and "a stranger trusts it at mile 80 at 3am" is the work that's still ahead, and that's the honest status.

The full story, including the brand system and what ships next: Building Puber. The build, on the portfolio: Puber case study.

Occasional updates when I publish. No spam.