Back to Projects
October 2023 - January 2025 Web App

Sailing Race Replay & Analytics Platform

Built a real-time sailing race replay platform with GPS tracking, boat performance analytics, and interactive map visualization

A sailing technology startup building tools for competitive sailors and race organizers

Project Overview

Built a comprehensive web application for sailing race replay and performance analysis. The platform enables competitive sailors and race organizers to record GPS data during races and replay them with detailed visualization, including real-time boat positions, historical trails, speed metrics, and wind analysis. The system supports both dedicated boat instruments and smartphone-based tracking, making it accessible to sailors at all levels.

The Challenge

Competitive sailors need tools to analyze their performance during races—understanding where they gained or lost ground, how their boat speed compared to theoretical performance, and how tactical decisions played out. Existing solutions were either prohibitively expensive or lacked the real-time replay capabilities that make post-race analysis truly valuable.

Technical Architecture

The application is built on a modern cloud-native stack:

  • Frontend: Next.js with TypeScript, providing server-side rendering and optimal performance
  • Database: Supabase with PostgreSQL for user management, race data, and boat configurations
  • Real-time Data: Google Cloud Functions handle GPS data ingestion with Redis caching via Memorystore for low-latency access
  • Infrastructure: VPC connectors ensure secure communication between Cloud Functions and managed Redis instances
  • Mapping: Custom Google Maps integration with satellite imagery and specialized sailing controls
  • Deployment: Vercel with GitHub Actions for continuous deployment

Key Contributions

Race Replay System Development

Built a sophisticated playback system that allows sailors to replay entire races with variable speed controls:

  • Implemented progress bar with timestamp annotations showing race duration and current position
  • Created play/pause controls with adjustable playback speeds (0.5x to 8x)
  • Developed automatic fallback mechanisms to handle GPS data gaps without freezing playback
  • Added loading indicators that communicate data processing status to users

Map Visualization & Performance

Developed custom map controls and optimized rendering for sailing analysis:

  • Integrated Google Maps API with satellite view toggle for viewing races against actual water and land features
  • Built configurable boat trail lengths with time-based fade-out for cleaner visualization
  • Optimized polyline rendering performance for smooth playback with multiple boats
  • Implemented dynamic boat label positioning that prevents overlap and maintains readability

Polar Diagram & Analytics

Integrated polar diagram functionality for boat performance analysis:

  • Built support for user-uploaded custom polar files matching specific boat models
  • Created graphing system showing speed over ground (SOG), course over ground (COG), and other metrics
  • Implemented metric unit conversion supporting both nautical and metric measurements

Cloud Infrastructure

Set up Google Cloud infrastructure for real-time data handling:

  • Configured Google Cloud Functions for GPS data ingestion
  • Implemented Redis caching via Google Cloud Memorystore for low-latency access
  • Set up VPC connectors for secure communication between Cloud Functions and managed Redis instances

Key Features Developed

Race Replay System

Built a sophisticated playback system that allows sailors to replay entire races with variable speed controls. Key elements include:

  • Progress bar with timestamp annotations showing race duration and current position
  • Play/pause controls with adjustable playback speeds (0.5x to 8x)
  • Automatic fallback mechanisms to handle GPS data gaps without freezing playback
  • Loading indicators that communicate data processing status to users

Interactive Map Visualization

Developed custom map controls specifically designed for sailing analysis:

  • Satellite view toggle for viewing races against actual water and land features
  • Configurable boat trail lengths with time-based fade-out for cleaner visualization
  • Color-coded boat paths that remain consistent between the map and performance graphs
  • Dynamic boat label positioning that prevents overlap and maintains readability
  • Zoom and pan controls optimized for following race action

Performance Analytics

Integrated polar diagram functionality for boat performance analysis:

  • Support for user-uploaded custom polar files matching specific boat models
  • Graphing system showing speed over ground (SOG), course over ground (COG), and other metrics
  • Multi-boat comparison views for analyzing fleet performance
  • Metric unit conversion supporting both nautical and metric measurements

Boat Management

Created an admin system for managing boat configurations:

  • Alphabetized boat selection menus with user-uploaded polars prioritized
  • GPS antenna offset configuration for accurate position tracking
  • Boat length options with proper unit conversion
  • Support for both instrument-connected and phone-only data sources

Technical Challenges

Playback Reliability

GPS data from real-world sailing conditions often contains gaps or irregular timestamps. Implemented an intelligent fallback system that detects when playback appears “stuck” and automatically advances to the next available data point, maintaining a smooth user experience even with imperfect data.

Rendering Performance

With multiple boats on screen, each with historical trails and real-time position updates, rendering performance was critical. Optimized polyline rendering and implemented configurable trail smoothing to balance visual quality with performance across devices.

Mobile Responsiveness

Sailors often review races on tablets or phones while still on the water. Ensured all controls and visualizations work seamlessly across screen sizes without sacrificing functionality.

Results

Delivered a production-ready platform that serves competitive sailors with:

  • Real-time race data streaming from GPS devices and smartphones
  • Smooth, reliable race replay with detailed performance visualization
  • Comprehensive analytics tools for post-race analysis
  • A responsive interface that works from dock to desktop

Technologies

TypeScript React Next.js Supabase PostgreSQL Redis GCP Vercel

Key Highlights

  • Developed real-time race replay system with playback controls and boat trail visualization
  • Integrated Google Maps API with custom controls for satellite view and race tracking
  • Built polar diagram system for boat performance analysis with user-uploaded custom polars
  • Implemented Redis caching via Google Cloud Memorystore for real-time data handling
  • Optimized rendering performance and mobile responsiveness for race controls