Korva Maps
- Tools & software
- Mapbox API
- Technologies
- Electron, Node.js, Npm, SerialPort / USB NMEA Communication
Desktop Navigation App & NavOS Core
Korva Maps is a native desktop navigation application powered by Korva NavOS, engineered specifically for dedicated in-car hardware setups running Windows or Linux. Built to move beyond standard web mapping, it bridges the gap between hardware serial inputs and modern mapping APIs to provide a high-accuracy, standalone navigation experience.
Key Features
Mapbox-Powered Routing & HUD: Integrates the Mapbox API for seamless destination search, intelligent routing, and real-time traffic data. Features a dedicated driving HUD complete with route progress tracking, arrival handling, and integrated voice guidance.
Hardware-Level GPS Integration: Bypasses unreliable Wi-Fi or browser-based location services by communicating directly with USB and serial GPS receivers. It reads raw NMEA position data over a serial connection, handling automatic port reconnection on startup and seamlessly falling back to system location data if hardware drops out mid-trip.
Multi-Stop Waypoints: Supports adding dynamic "via points" along a route. The application tracks these stops with visual map markers, triggers spoken cues and confirmation alerts upon arrival, and handles smart rerouting to ensure you clear the stop before advancing.
Automated CI/CD Deployment: Features a continuous delivery pipeline utilizing GitHub Actions. Every push to the main branch automatically executes comprehensive test suites (
check:release), builds platform-specific binaries, including Windows NSIS installers and Linux AppImages, and deploys them directly to GitHub Releases.Polished Adaptive UI: Built with intelligent local caching for user configurations (Home, Work, favorites, and history) and features six distinct display environments optimized for any driving condition: Day, Dawn, Dusk, Night, Satellite, and Traffic.
Project Impact & Learnings
Developing Korva Maps required tackling unique desktop-environment challenges, including state synchronisation between Electron's main and renderer processes, parsing low-level serial data streams smoothly, and architecting an automated cross-platform build matrix that reliably packages applications for distinct operating systems.