Voyager
com.voyager.voyager
LWB lwb89@cosanostr.com Automotive dashboard for Android built on Roadstr — navigation, music, podcasts, weather, voice and phone in one screen. 100% open-source stack, no account, no telemetry.
First release: Aug 21, 2026, 6 total releases.
Most recent release: Sep 12, 2026.
Appears in 3 app stacks.
0 sats / 0 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Sep 12, 2026 0.2.4## Voyager v0.2.4 A patch release: update to Roadstr 0.5.7, MapLibre as the default map engine. ### Roadstr 0.5.7 update - Rebased every patch Roadstr's own changes broke. The main one is upstream's visual redesign: two new shared primitives, `RoadstrGlassSurface` (a translucent gradient card) and `RoadstrPressable` (a shared tap/scale response), replacing hand-rolled `Container`/`InkWell` code across the map chrome and nav HUD. Voyager's own compact corner-card forms (the turn-by-turn card, the speed panel, the notifications/profile/settings bar) are now built on those same primitives instead of the old decorations — visually consistent with the rest of the redesigned app. - Picked up a new `showHomeDashboard` state upstream added to both map screens; Voyager's own floating-button guards now respect it too, so those buttons correctly hide whenever that dashboard is showing. - Two of the most complex patches (`map_screen.dart`, `maplibre_map_screen.dart`) were rebuilt from pristine plus only their genuine Voyager-specific changes, clearing out drift that had built up across earlier rebases.
More…
### MapLibre is now the default map engine - Switched on and tested on a real device: it works correctly. The earlier "MapLibre is not supported on this platform" error only ever came up testing on Linux desktop — a platform the `maplibre` package has no implementation for at all (Android, iOS and web only), not a real bug. - Finished the landscape positioning this engine's screen was still missing compared to the OSM one: the current-street label and speed-limit sign now share Voyager's chrome row and clear the nav panel the same way, and the search UI is capped and centred instead of stretching edge to edge on a wide screen. - Roadstr's own default was already MapLibre; Voyager's is now too. OSM stays selectable in Settings for anyone who prefers it. All 8 patches apply cleanly against 0.5.7. ### Installation - **`voyager-v0.2.4-arm64-v8a.apk`** — almost every phone from the last ~8 years. Pick this unless you know otherwise. Signed with Voyager's own release key. - Sep 9, 2026 0.2.3## Voyager v0.2.3 A patch release: update to Roadstr 0.5.5, no Voyager-side feature changes. ### Roadstr 0.5.5 update - Rebased the two patches Roadstr's own changes broke: `nav_hud.dart` (upstream retuned its own landscape type sizes — Voyager's compact corner card keeps its own smaller sizing, since it sits much closer to the driver's eye than a full-width bar) and `maplibre_map_screen.dart` (menu-redirect, voice-toggle, and FAB/MapBottomBar positioning, unaffected in substance). - While rebasing, found the MapLibre patch had been carrying a large amount of unrelated line-wrapping noise since it was first generated — a full-file reformat ran before diffing it, at some point in an earlier release. Rebuilt it from just the 5 hunks that were ever real Voyager changes; the other 37 were reformatting artifacts with no effect on behavior. - All 8 patches now apply cleanly against 0.5.5.
More…
### Installation - **`voyager-v0.2.3-arm64-v8a.apk`** — almost every phone from the last ~8 years. Pick this unless you know otherwise. Signed with Voyager's own release key. Other ABI builds (32-bit ARM, Intel/AMD) will return with the next feature release. - Aug 31, 2026 0.2.2## Voyager v0.2.2 A patch release: Roadstr's MapLibre engine update, unified settings, and another round of HUD overlap fixes reported from live use. ### Roadstr 0.5.0 update - Pulled in Roadstr's MapLibre rendering engine merge, keeping every existing Voyager button/UI configuration in place. All patches rebased cleanly against the new upstream. - The map-engine toggle in Settings (OSM / MapLibre) is now actually wired — it was previously inert and switching it did nothing. ### Unified settings
More…
- Roadstr's own settings — map engine, speedometer style, cursor style, show-altitude, and Favorites + Nostr Sync — are now part of Voyager's single Settings screen instead of a second, separate one. The menu button in Roadstr's own map chrome opens the same combined screen. ### Navigation HUD overlap fixes (both map engines) - The parking/route-planner FAB column no longer overlaps Voyager's own notifications/profile/settings bar, in either orientation. Previously fixed only for the OSM engine; MapLibre — the engine actually running on-device — had never received the fix at all, and still used a single non-orientation-aware offset. - That same bar is now level with Voyager's own chrome pill in landscape, on both engines. - The FAB column also clears the display cutout in landscape with a wider margin, after the first pass at this left it still 16dp short of the bar below it. ### Installation Same as previous releases — pick the build matching your device: - **`voyager-v0.2.2-arm64-v8a.apk`** — almost every phone from the last ~8 years. Pick this unless you know otherwise. - `voyager-v0.2.2-armeabi-v7a.apk` — older 32-bit ARM devices. - `voyager-v0.2.2-x86_64.apk` — Intel/AMD. All three are signed with Voyager's own release key. - Aug 22, 2026 0.2.1## Voyager v0.2.1 A patch release: real bug fixes reported from live use, plus a round of navigation HUD repositioning. ### Fixes - **Vosk model download** — fixed "OS error: directory not empty, errno 39". Extraction now happens in a fresh, uniquely-named scratch directory and is only swapped into place once complete, instead of deleting-then-reusing the model's own folder (which could collide with a previous attempt's leftovers). - **Amber / nsec login** — fixed the profile screen reading as logged out even right after a successful login. Both flows updated the displayed name/flavor but never set the field `_loggedIn` actually checks. This is a genuine bug in Roadstr's own `profile_screen.dart`, patched here for now. - **Music folder permission** — picking a folder in Settings now actually makes the Music tab notice. Previously the plugin's failed state was set once at startup and nothing told it to look again, so "cannot read audio files" stuck around even after fixing exactly that. - Enlarged the retry button on a failed plugin's placeholder screen, and the Kokoro/Vosk download button — both read as disabled controls at their previous size.
More…
### Navigation HUD (landscape and portrait) - Speed/cancel-trip card now aligned with Voyager's own chrome row in landscape instead of floating a full chrome-height above it. - Stop button halved in size, card gap tightened. - Turn-instruction card moved to the top-left; the voice-mute toggle is now its own independently-docked button, top-right, instead of trailing inside the instruction card. - Speed-limit sign moved to roughly mid-screen height in landscape. - Current-street label: level with Voyager's chrome row in landscape; moved between the speedometer card and the speed-limit sign, left-aligned, in portrait. ### Installation Same as previous releases — pick the build matching your device: - **`voyager-v0.2.1-arm64-v8a.apk`** — almost every phone from the last ~8 years. Pick this unless you know otherwise. - `voyager-v0.2.1-armeabi-v7a.apk` — older 32-bit ARM devices. - `voyager-v0.2.1-x86_64.apk` — Intel/AMD. All three are signed with Voyager's own release key. - Aug 22, 2026 0.2.0## Voyager v0.2.0 Navigation HUD, in-app voice model downloads, and a round of real fixes reported from actual driving/testing use. ### Navigation HUD - Fixed dead whitespace in the speed/cancel-trip card, made the speedometer bigger, and switched new installs to Roadstr's "minimal" speedometer style by default. - The turn-instruction card now docks top-right instead of spanning the top edge, freeing the centre of the map. - The current-street label moved down to sit level with the FAB column instead of floating a full chrome-height above it. - In landscape, Voyager's own chrome row and Roadstr's bottom bar/FABs now share the same row where there's room; portrait keeps them stacked, where there isn't.
More…
### Settings - Added a light-theme toggle — scoped to the Settings screen itself. The driving surfaces (map, music, podcasts) stay dark always, on purpose. - Removed the Privacy section (redundant with what's already in the README). - Roadstr's own bottom-bar "menu" icon now opens Voyager's settings instead of Roadstr's native settings screen, which exposed a second, differently-shaped Kokoro control panel over the same underlying settings. - Fixed the onboarding welcome page showing a broken-image icon. ### Voice - Kokoro and Vosk speech model downloads are now available directly in Settings and in onboarding. - Fixed Vosk model downloads failing with "No file extension detected" — the in-progress download file needed a real `.zip` extension before extraction, not `.zip.part`. - Enlarged the download button — it previously read as a disabled control. - Added a retry action on a failed plugin (e.g. after granting a permission from system Settings that was denied during onboarding) — previously the only way back was restarting the app. ### Music - Support for more than one music folder as a source, with existing single-folder choices carried over automatically. ### Weather - Now respects the shared imperial/metric unit toggle instead of always showing °C and km/h. ### Fixes - Amber (NIP-55) login was silently doing nothing — the Android manifest was missing the package-visibility declaration for the `nostrsigner://` scheme, which hid the Amber app from the login plugin even when installed. - Music and podcast playback now actually stop when the app is removed from Android's recents, rather than continuing indefinitely in the background. ### Installation Same as v0.1.0 — pick the build matching your device: - **`voyager-v0.2.0-arm64-v8a.apk`** — almost every phone from the last ~8 years. Pick this unless you know otherwise. - `voyager-v0.2.0-armeabi-v7a.apk` — older 32-bit ARM devices. - `voyager-v0.2.0-x86_64.apk` — Intel/AMD. All three are signed with Voyager's own release key. - Aug 21, 2026 0.1.0## Voyager v0.1.0 — first release The first public build of Voyager: an Android automotive dashboard built on [Roadstr](https://github.com/roadstrapp/roadstr-app), combining navigation, music, podcasts, weather, on-device voice guidance and phone into one glanceable, touch-friendly interface for a phone mounted in a car. ### Highlights - **Navigation** — Roadstr in full: OpenStreetMap maps, OSRM routing, speed
More…
camera and speed-limit warnings, restricted-traffic zone (ZTL) alerts, and community road reports over Nostr. Voyager's own floating control bar sits over the map in every orientation without ever colliding with Roadstr's own controls, in portrait or landscape. - **Music** — streams from a self-hosted Navidrome or Jellyfin server, or plays files already on the device via Android's MediaStore. Gapless playback, steering-wheel and Bluetooth AVRCP controls, and a five-band output equalizer with genre presets (rock, pop, jazz, metal, hip-hop/rap) alongside driving-specific ones (road noise, speech clarity, boost). The now-playing screen and its controls live only in the Music tab. - **Podcasts** — search the iTunes directory with no account required, subscribe, and play episodes through the same playback engine as Music (starting one stops the other). Feed fetches are size-bounded so a misbehaving feed can't exhaust memory mid-drive. - **Weather** — Open-Meteo, keyless, with coordinates rounded before the request leaves the device. Flags conditions that actually change how you should drive rather than just showing a forecast. Adapts to a compact horizontal layout in landscape. - **Voice guidance** — spoken turn-by-turn instructions run entirely on the device: Kokoro neural TTS where supported, eSpeak-NG everywhere else. - **Phone** — incoming calls and texts as large glanceable cards layered over whatever you're doing. No dialer, deliberately. ### Privacy & security - No account, no analytics, no crash telemetry. - Server credentials (Navidrome/Jellyfin) are stored in a Hive box encrypted with a key held in the Android Keystore, never in plain text, and never included in Android backups. - Subsonic-style authentication uses a per-request salted token rather than sending the raw password on every call. - Every network response Voyager reads from a server you configured is size-bounded, so a misbehaving or malicious endpoint can't run the app out of memory. - No Google libraries anywhere in the APK — verified against the built artifact, not just the build configuration, by `tools/check_no_google.sh`. ### Known limitations - Speech *recognition* (voice commands) is not implemented yet — Vosk integration is stubbed and documented in [docs/SETUP_VOSK_STT.md](docs/SETUP_VOSK_STT.md). - No screenshots in the README yet. ### Installation Builds are split by ABI instead of one universal APK, so the download matches what your device actually needs rather than carrying every architecture's native code at once: - **`voyager-v0.1.0-arm64-v8a.apk`** — almost every phone from the last ~8 years (64-bit ARM). Pick this unless you know otherwise. - `voyager-v0.1.0-armeabi-v7a.apk` — older 32-bit ARM devices. - `voyager-v0.1.0-x86_64.apk` — Intel/AMD, e.g. some emulators and a handful of x86 tablets. All three are signed with Voyager's own release key. Or build from source per the [README](README.md). ### Requirements Android phone or tablet. Optional: a self-hosted Navidrome or Jellyfin server for streamed music.