Acknowledgements

locationjoystick is built using a number of open-source projects. Every library and data source listed here is used directly in the app you install. Thanks to everyone who works on them.

Map & location data

ProjectUsed forLicense
MapLibre Android SDK Renders the interactive map throughout the app, including the floating map overlay. BSD 2-Clause
OpenStreetMap Map tile data displayed on every map screen. Tiles are fetched from tile.openstreetmap.org as you navigate. ODbL (© OpenStreetMap contributors)
OSRM (Open Source Routing Machine) Road-following route generation, guided route creation, and roaming with "Follow roads" enabled. The public demo server at router.project-osrm.org is used; waypoint coordinates are sent per request. BSD 2-Clause
Nominatim (OpenStreetMap Foundation) Place-name search used in the route creator and the favorites map picker. Only the text you type is sent; no coordinates or identifiers. Data: ODbL · Software: GPL-2.0

Language & async

ProjectUsed forLicense
Kotlin (JetBrains) The programming language the entire app is written in. Apache 2.0
Kotlin Coroutines (JetBrains) Handles all background tasks and real-time location updates inside the app. Apache 2.0
Kotlin Serialization (JetBrains) Reads and writes data for export, import, and QR transfer. Apache 2.0

UI & design

ProjectUsed forLicense
Jetpack Compose (Google) The toolkit used to build every screen and interface element in the app. Apache 2.0
Material 3 (Google) Provides the visual design system: buttons, cards, dialogs, and colors used throughout the app. Apache 2.0
AndroidX Navigation Compose (Google) In-app navigation between screens and the navigation drawer. Apache 2.0
AndroidX CameraX (Google) Provides camera access for the QR code scanner when importing a configuration. Apache 2.0

Architecture & storage

ProjectUsed forLicense
Hilt (Dagger) (Google) Internal framework that connects the app's components together. Apache 2.0
AndroidX Room (Google) The on-device database that stores your routes, favorites, and settings. Apache 2.0
AndroidX DataStore (Google) Saves your settings and preferences on the device. Apache 2.0
AndroidX Lifecycle (Google) Manages how the app responds to screen rotation, backgrounding, and other Android lifecycle events. Apache 2.0

Networking

ProjectUsed forLicense
Retrofit (Square) Handles network requests for place search and road-following routes. Apache 2.0
OkHttp (Square) The networking layer that powers all outbound requests from the app. Apache 2.0

QR codes

ProjectUsed forLicense
ZXing (Zebra Crossing) (Google) QR code encoding (export) and decoding (import) for the device-to-device config transfer feature. Apache 2.0