Roadlink is a cross-platform in-vehicle computer system built with Flutter, designed to run on both Android and iOS. It brings the power of real-time GPS navigation, mesh network communication via Meshtastic, vehicle telemetry integration, and intelligent power management to any mobile device used in a golf cart.

Core Features

GPS and Navigation

  • Real-time speed display with advanced filtering
  • 16-point cardinal direction display (N, NNE, NE, ENE, etc.)
  • Current latitude and longitude coordinates with satellite count
  • Horizontal dilution of precision (HDOP) display for GPS accuracy
  • Sunrise and sunset time calculation and display
  • Automatic timezone and daylight saving time handling
  • Date and time display with “NO GPS” indicator
  • Multi-source GPS support (device GPS + Meshtastic)

Distance and Maintenance Tracking

  • Dual odometer system (total distance + resettable trip odometer)
  • 1 decimal place precision in miles
  • Doppler speed gating for GPS error rejection
  • Service reminder counter with driving hours accumulation
  • Configurable service intervals
  • User-resettable counters
  • Automatic persistence and rollover at 100,000 miles

Mesh Network Communication

  • Meshtastic BLE/Bluetooth integration
  • Send and receive text messages via mesh network
  • Broadcast and direct message support
  • Preformatted message selection from configurable list
  • Custom message composition via on-screen keyboard
  • Message display with sender node ID, channel, and timestamp
  • Automatic reconnection with exponential backoff
  • Device bonding and persistent address storage

Vehicle Telemetry

  • Bluetooth connection to vehicle telemetry systems
  • Real-time telemetry data (battery, fuel, temperature, headlights)
  • GPS data reporting to vehicle system
  • At-home status and daytime status notification
  • Continuous telemetry monitoring with automatic reconnection

Power and Display Management

  • Intelligent power management for mobile devices
  • Day/night brightness adjustment based on sunrise/sunset
  • Configurable brightness levels
  • Inactivity-based screen dimming
  • Home location and geofencing support
  • GPS interval optimization based on location

Weather and Entertainment Display

  • Current temperature display
  • 4-hour forecast with weather glyphs and precipitation probability
  • Weather data caching with same-day restoration
  • Venue/event data in scrollable table format
  • Last-received timestamp display

Configuration and Settings

  • Display settings (brightness, screen orientation, timeout)
  • Vehicle settings (temperature offset, service intervals, odometer reset)
  • Connectivity settings (Meshtastic enable/disable, radio management)
  • System information and app preferences
  • Persistent storage via device preferences

Technology Stack

Frontend

  • Flutter framework for cross-platform development
  • Dart programming language
  • Native Material Design and Cupertino (iOS) UI components
  • Responsive layouts for both tablets and phones

Backend & Connectivity

  • Bluetooth support for both iOS and Android (BLE + Classic)
  • Meshtastic mesh network integration
  • Native GPS access
  • Location services integration

Platform Support

  • Android (same capabilities as native Kotlin version)
  • iOS (full feature parity with Android)
  • Cross-platform code sharing (95%+ code reuse)
  • Platform-specific native modules where needed

Architecture

  • Clean architecture with separation of concerns
  • Provider or Riverpod for state management
  • Persistent local storage
  • Async/await for asynchronous operations

Key Differences from Native Android Version

The Flutter version provides:

  • Cross-platform capability — Single codebase for iOS and Android
  • Code reuse — ~95% shared code between platforms
  • Faster development — Quicker feature deployment across both platforms
  • Consistent UX — Same experience on Android and iOS
  • Easier maintenance — Single codebase to maintain and update

Both versions maintain feature parity, with the Flutter version offering broader platform support while the native Kotlin version provides maximum Android-specific optimization.

Use Cases

  • Golf Cart Fleet Management — Unified platform for iOS and Android devices
  • Multi-Platform Deployments — Organizations using mix of iPhone and Android devices
  • Outdoor Recreation — Mesh communication accessible on any mobile device
  • Off-Grid Navigation — GPS and Meshtastic on iOS devices
  • Vehicle Integration — Telemetry support across both platforms

Philosophy

Modern applications deserve modern tools. Flutter enables Roadlink to reach both Android and iOS users with a single codebase, reducing development time while maintaining feature completeness and platform-native quality.

Status

Active development. Cross-platform foundation established with feature parity implementation in progress. Designed to serve as the primary platform-agnostic version of the golf cart computer system.

See also Roadlink Android — The native Kotlin/Android implementation with platform-optimized performance and features.