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
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