

Vlv Companion
Android companion for Volvo cars, built for degoogled phones. No Firebase, Play services, or Google Maps . Independent project, not affiliated with Volvo Cars.
Cost / License
- Free
- Open Source (GPL-3.0)
Platforms
- Android




Vlv Companion
Features
Vlv Companion News & Activities
Recent activities
- justarandom updated Vlv Companion
- justarandom added Vlv Companion
justarandom added Vlv Companion as alternative to Volvo Cars
Vlv Companion information
What is Vlv Companion?
Vlv Companion
A degoogled-friendly React Native Android client for the Volvo Cars public API — Connected Vehicle v2, Energy v2, and Location v1. Designed for phones running GrapheneOS, /e/OS, CalyxOS, LineageOS-without-GApps, etc. No Firebase, no Google Play services, no Google Maps.
Independent project — not affiliated. Vlv Companion is an independent open-source project. It is not affiliated with, endorsed by, sponsored by, certified by, or otherwise authorised by Volvo Car Corporation, AB Volvo, Volvo Car USA, LLC, the Volvo Trademark Holding AB, or any other Volvo company. The names "VOLVO", the Volvo iron-mark, and any related marks are trademarks of their respective owners and are referenced here only to factually describe the vehicles and developer APIs this software interoperates with. See TRADEMARKS.md for the full notice.
Features
- OAuth 2.0 + PKCE sign-in against Volvo ID (EU region), confidential-client.
- Garage list with per-vehicle name + EV toggle (hides fuel UI on BEVs).
- Per-vehicle screens:
- Overview — central lock, battery %, electric range, odometer, fuel (ICE only), service distance, doors top-view, per-corner tyre pressure.
- Energy — battery gauge, charging status, target SoC, charging power, time-to-target, current limit.
- Location — MapLibre + OpenFreeMap tiles, "Open in maps" handoff to OsmAnd / Organic Maps / Magic Earth via geo:lat,lng. Optional EV-charger overlay (OpenStreetMap Overpass).
- Commands — lock, lock with reduced guard, unlock (with the readyToUnlock countdown banner), honk, flash, honk-and-flash, climatisation start/stop, engine start (1–15 min) / stop.
Stack
- Expo SDK 53 + expo prebuild (bare Android folder, no Expo Go runtime).
- TypeScript, expo-router, TanStack Query, ky, Zustand.
- @maplibre/maplibre-react-native for the map.
- expo-auth-session + expo-web-browser for OAuth — uses your system browser (Mull / Vanadium / Fennec on degoogled phones), no GMS.
ESLint blocks any import of @react-native-firebase/, expo-notifications, react-native-maps, @react-native-google-signin/, and expo-location to keep the dependency graph degoogle-clean.
