100 000+ parking locations from OpenStreetMap β bundled offline, available instantly across Germany π©πͺ, France π«π· and Luxembourg π±πΊ. Tap the map to place a custom pin and navigate there, use address search powered by Nominatim, MapLibre vector tile map, BRouter on-device routing, 5 cycling profiles, favorites, dark mode, and 8 languages included.
Type any address in Germany, France or Luxembourg into the floating search bar to get up to 5 live Nominatim suggestions, biased to your surroundings. Tap a result to drop a pin and open the same sheet as a custom pin β start in-app BRouter navigation, save it as a favourite, or remove the pin.
Tap any empty spot on the map to drop a blue custom pin. The address is resolved instantly via Nominatim reverse geocoding and a bottom sheet lets you start in-app bike navigation directly to that exact location.
100 000+ bicycle parking locations from OpenStreetMap β pre-bundled as SQLite assets, available offline from the very first launch.
Only the markers visible in the current map area are queried. Scroll from Flensburg to Munich without any slowdowns.
At city-level zoom, dense parking pins are aggregated into native MapLibre clusters for a fast, uncluttered map. Tap a cluster to zoom in and break it apart.
All parking data is bundled inside the APK. No network call is needed to find and browse parking spots.
Tap a marker and its address is resolved automatically via Nominatim β cached permanently so subsequent opens are instant.
Silky-smooth vector tile rendering via MapLibre and OpenFreeMap Liberty style β no API key needed, sharp at every zoom level, and ready for custom dark-mode styles.
Browse bike parking spaces on an intuitive vector map with clear markers and quick detail access.
Save the parking spots you use most often and launch navigation directly from the favorites list β even if they are outside the current viewport.
Switch between German, English, French, Italian, Portuguese, Luxembourgish, Dutch, and Spanish via a flag-based picker β the choice is remembered across app restarts.
Enable dark mode and the entire map switches to a bundled dark vector-tile style that reuses the same OpenFreeMap tiles β no extra tile provider, with brighter, higher-contrast markers for night use.
Show or hide pin categories independently β parking spots, favourites, and saved places β via an intuitive layers sheet. The selection persists across restarts.
Save any tapped location as a named favourite. Saved places appear as persistent green star markers and live in the favourites list with navigate and show-on-map actions.
Calculate bike routes directly inside the app and follow a live route overlay without switching to an external map app.
A Google-Maps-style 3D follow camera (60Β° pitch, heading-up, speed-dependent zoom) snaps your position onto the route, rotates a heading arrow with your direction of travel, greys out the path behind you, raises 3D buildings, counts down the live remaining distance + ETA, and reroutes automatically when you go off-route.
Pick a flat top-down map or a tilted 3D view with extruded buildings from a sleek segmented selector β the choice is remembered. Active navigation always uses the full 3D camera.
Routes calculated entirely on-device via the embedded BRouter engine β no internet needed after the one-time ~200β250 MB segment download. Choose from 5 cycling profiles: Trekking, Fast, Shortest, MTB, and Gravel.
While navigation is active, non-destination markers appear smaller, lighter gray, and more transparent so your target stands out.
Record a ride and the "My rides" timeline leads with a collapsible statistics dashboard: totals (distance, time, elevation), averages, personal records (top speed, longest ride, biggest climb), activity streaks (active days, this week / this month) and fun facts like COβ saved vs. a car, calories burned and your share of a lap around the Earth β all computed on-device from your own rides.
Track any ride with live time, distance, speed and elevation plus a speed chart. Recording keeps running in the background with a notification, a Quick Settings tile and a home-screen widget β and your live-location avatar visibly pedals as you ride, planting a foot down when you stop.
Rides are auto-named after the destination ("Round trip β place" for loops), and finishing a manual recording asks for a name suggested from your current location. Export selected rides as GPX β share them or save to a file (combine or one file per ride) β and import GPX tracks back in.
Turn all your recorded rides into a colour heatmap that reveals where you cycle most, or draw every ride as its own thin, translucent line so frequently used streets read stronger. Both are optional map layers built on-device from your own data.
Optional spoken turn-by-turn guidance reads the upcoming turns aloud via Text-to-Speech β an early "prepare" cue, a "now" cue right before the turn and an arrival cue β building on the on-screen turn banner. Opt-in and persisted.
Pick a target distance (5β50 km) and BRouter builds a circular route that starts and ends right at your position β perfect for a quick loop. Offline routing required.
A five-step "Route hilliness" slider lets you trade a little distance for less climbing. Each level adds an uphill penalty handed to BRouter and is applied live to point-to-point, on-demand and round-trip routing.
Save where you parked β automatically on navigation arrival or with one tap β and later navigate straight back to it, with the reverse-geocoded address and live distance from your position.
Share any parking spot, pin, search result or saved place as a universal OpenStreetMap link, or export a recorded ride as a slick "VeloSpot Wrapped" card β your route on a map cutout with your stats β ready for WhatsApp, Telegram & Instagram.
VeloSpot bundles the OpenStreetMap bicycle parking datasets for Germany, France and Luxembourg into a pre-populated SQLite database. All 100 000+ spots are available offline from first launch, with smooth viewport-based loading and automatic address resolution.
100 000+ Locations Β· Fully Offline
OpenStreetMap Β· Room Asset DB Β· Nominatim (Reverse + Forward Geocoding) Β· MapLibre Vector Tiles Β· BRouter Offline Routing Β· OSRM Fallback
City-wide or country-wide β browse 100 000+ parking spots across Germany, France and Luxembourg.
Type any address in Germany, France or Luxembourg to get live suggestions powered by Nominatim and navigate straight there.
Tap any spot on the map to drop a custom pin, get the address automatically, and start in-app bike routing.
See capacity, address, and operator, then jump straight into navigation.
Save your most-used spots and start navigation directly from the favourites sheet.
Choose from 8 languages in-app via the flag-based language picker.
A bundled dark vector-tile style that reuses the same OpenFreeMap tiles β the whole map turns dark alongside the app theme, with higher-contrast markers.
Show or hide each pin category independently β parking spots, favourites, and saved places β from an intuitive layers sheet. Your choice is remembered.
Switch the resting map between a flat top-down view and a tilted 3D view with extruded buildings β your choice is remembered.
Choose a cycling profile β Trekking, Fastbike or Mountain bike β for fully offline BRouter navigation.
Generate a circular route that starts and ends at your location β pick a target distance (5β50 km) and BRouter builds the loop offline.
Record a ride with live distance, duration, speed and elevation, then review the saved track on the map.
Tune preferences like the routing profile, elevation handling and keep-screen-on from a clean settings screen.
Clone the project, build the Android app, and enjoy 100 000+ parking spots offline β plus tap-to-place custom pins, address search via Nominatim, MapLibre vector tile map, BRouter on-device routing, 5 cycling profiles, favorites, multilingual support, and dark mode.