O. Jauregui — Catalog of Work
Index / Software · AI05

Doppler

A run tracker that told you which way to run to meet the rain. Retired.

A saved run — a 2.5-mile Williamsburg loop with route, elevation, and pace, shareable without an account
Fig. 1 — A saved run — a 2.5-mile Williamsburg loop with route, elevation, and pace, shareable without an account
Live radar with storm-cell drift and chase heading
Fig. 2 — Live radar with storm-cell drift and chase heading
Run feed with weather badges
Fig. 3 — Run feed with weather badges

Most running apps help you avoid weather. Doppler was for people who wanted to run into it — it found the rain and gave you a heading.

A PWA with a live radar map (two hours of history plus a 30-minute nowcast), storm-cell drift computed from steering winds, and a chase heading toward the nearest rain. It recorded GPS runs with weather badges, kept stats and streaks, and shared runs as URL-encoded links — no account needed. A demo mode simulated a run so the whole product worked from a desk.

The project is retired — I keep the write-up here because the mechanics were worth building: the archived build still loads, but it's no longer maintained.

Architecture

Offline-first Next.js PWA. MapLibre GL rendered animated RainViewer radar tiles; weather and steering winds came from Open-Meteo — both keyless, free APIs, so the core app ran with zero credentials and zero backend. The physics-adjacent core is where the engineering lived: storm-cell drift derived from 850 hPa steering winds (cells move toward wind direction + 180°), the chase heading computed as the reciprocal of drift, and run data URL-encoded for account-free sharing. That pure-logic core was fully unit-tested; the map shell around it stayed thin.