All work

Ocean Race Europe

A live fleet tracker built for racing around coastlines, not just across a finish line.

Role
Frontend Lead
Discipline
Fleet Tracking
Year
2025
Focus
Next.js, TypeScript
Ocean Race Europe cover

(Overview)

I led development of the official live fleet tracker for The Ocean Race Europe 2025 - map, live boat tracking, and race-state UI for a coastal championship where straight-line distance to the finish isn’t enough.

Fans, teams, and press needed a live tracker - but race order on a coastal course can’t be a straight-line distance to a single finish. Who is first has to come from the course itself.

I built the Next.js product shell and a checkpoint system that ranks boats along the real course: polygon gates, distance to finish (DTF), distance to leader (DTL), anti-skip rules, and CMS overrides when race control needed a manual fix.

Shipped PredictWind’s public tracker for Europe 2025 - the first event in a partnership covering Atlantic 2026 and TOR 2027. Leaderboard followed race rules live; embedded on TNT Sports and Eurosport, with live data feeding broadcast graphics.

  • Next.js
  • TypeScript
  • TailwindCSS
  • tRPC
  • Sanity
  • nuqs

(By the numbers)

0Weeks live
~0 nmCourse tracked

(Brief)

Mission context

Ocean Race Europe 2025: seven foiling IMOCAs, ~4,500 nm from Kiel to Boka Bay. PredictWind was Official Tracking and Weather Services Supplier; Europe was the public debut of a multi-event platform.

(Film)

Race trailer

Campaign film for the six-week European race. The tracker had to make the fleet followable live.

(Architecture)

System layers

Next.js shell, CDN map, and a checkpoint system that ranks boats on a real coastal course.

Next.js shell
Leaderboard, timeslider, telemetry, and embed chrome
Map bridge
CDN map kept in sync with the shell via typed postMessage
Checkpoint system
Course gates, DTF/DTL, finish detection, anti-skip, CMS overrides
CMS / APIs
Sanity teams/legs/media and tRPC tracks, routes, telemetry

(Product surface)

What fans could do

  1. 01

    Race order

    Checkpoint-based leaderboard with DTF, DTL, finish times, and race-control overrides.

  2. 02

    Conditions & telemetry

    Wind, currents, and temperature layers plus boat telemetry and predicted routes.

  3. 03

    Timeline

    Playhead, live interval, Sanity leg bounds, and shareable leg deep links.

  4. 04

    Partner embeds

    Team and media chrome plus iframe snippets for third-party sites.

(Product)

Tracker UI

Full-viewport map with fleet leaderboard, telemetry, weather layers, and a scrubbable race timeline.

Ocean Race Europe desktop view 1
Ocean Race Europe desktop view 2

Mobile

Leaderboard and scrubber sit in a bottom sheet so the map stays full-bleed on phone.

Ocean Race Europe mobile view

(Hard problems)

Constraints that shaped the build

  • A single finish line can’t rank boats racing around land

    Checkpoint polygons along the course. Racing boats sort by DTF (or CMS override); finished boats by finish time. Anti-skip rules stop tracks jumping gates.

  • Map engine is a separate origin

    Thin postMessage contract for date, leg, team selection, and media

  • Partners need white-label embeds

    Embedded routes, iframe snippet, and themable telemetry cards

(Impact)

What I shipped

  • 01

    Built a checkpoint system that ranks boats on a real coastal course - not a fake straight-line race.

  • 02

    Shipped the public Europe 2025 tracker, first event in a multi-year Ocean Race partnership.

  • 03

    Got the product onto TNT Sports and Eurosport, with live data feeding broadcast graphics.

Next projectAmerica's CupLive race weather for the world's biggest sailing stage - embedded on americascup.com.