Roadstr 0.4.12 is out
NEARBY — tap the search box and, without typing a word, one tap tells you where the closest fuel, supermarket, cash machine, pharmacy, hospital, police station, post office, parking or charger is. Within 5 km of wherever you actually are, nearest first, distance on every row. Straight from OpenStreetMap tags, so it reads the same in Berlin, Tokyo, Nairobi or São Paulo — and places OSM never gave a name to are kept, not dropped: an unbranded pump or a cash machine in a wall is exactly what you were looking for.
And a number that had been lying to you: "avoid motorways & tolls" was quoting travel times from a different routing engine than every other route on screen. Checked on 29 real journeys over 350 km across six continents, plus ferries, islands and toll bridges.
Also in this build:
• Four relays instead of two, each verified to really store and serve Roadstr events — reports go to all of them, and all four are asked at once, so redundancy costs no waiting
• "My reports" is no longer empty: the profile was asking a single relay that kept refusing connections
• No more crash when updating the speed limit on one of your speed camera reports
• Restricted traffic zone (ZTL/ZAC) warning is back on screen
• Speed limit sign no longer hangs around after the route preview
• The map moves the moment you open it, instead of waiting for a cold GPS lock
• Fewer pointless reroutes
• Voice guidance speaks at 1.30× by default, so instructions land before the junction
• Auto dark theme off by default: your theme stays your theme
• 21 strings finally translated into all 26 languages
As usual, free, no account, no tracking. OpenStreetMap for the map, Nostr for the road reports, Lightning for the tips.
#Nostr #Roadstr #OpenStreetMap #GrowNostr #FuckGoogle
roadstrapp
roadstrmaps@iris.to
npub1cwft...5mmc
v0.4.11 (20)
Notification
Added notifications for every zap, report and alert confirmed or discarded by other users. Notifications will not take place during navigation.
Vocal alert for speed cameras, when a user posts an alert for a speed camera a new field with speed limits can be filled. This will vocally alert users in close proximity.
Bugfixes, resized remaining time and remaining distance in a more properly dimensioned font.


Roadstr v0.4.10 is out ⚡🗺️
🛰️ GPS now works on de-Googled phones — GrapheneOS, /e/OS, LineageOS. No Play Services required, ever. We read the GNSS hardware directly, which also means zero location data ever touches Google — for everyone.
Privacy-first navigation, the way it should be and remember, always FuckGoogle.
#Roadstr #GrapheneOS #Nostr #OpenStreetMap #OtherStuff #GrowNostr
Roadstr v0.4.9 is out ⚡🗺️
• Avoid highways & toll roads — now actually working
• Long-distance walking/cycling routes (Boston→Miami on foot? go for it)
• Rich POI details on tap: hours, phone, website, accessibility
• Voice-volume slider, independent of your media
• Faster "locate me", plus imperial-unit fixes
Thanks to @The Beave for the extensive testing ✌️
Download on zapstore or directly from github
#Roadstr #OpenStreetMap #OtherStuff #GrowNostr
GitHub
Release roadstrapp.0.4.9.apk · roadstrapp/roadstr-app
v0.4.9 (18)
Routing
Avoid highways & toll roads now actually works. The feature was pointed at the wrong server (which returned a web page instead...
👀👀👀
We offer collaborative events on nostr, is it enough?
View quoted note →
Roadstr v0.4.6 (
ZTL (limited-traffic zones)
Fixed a bug that made ZTL detection silently fail since the feature shipped. The Overpass query used ["name"~"ZTL","i"] — the quoted "i" is a syntax error in Overpass QL (case-insensitive regex needs an unquoted ,i), so every ZTL fetch failed, on every mirror, from day one.
Rewrote ZTL detection to match how Italian zones are actually mapped. Italian ZTLs are tagged per-street (motor_vehicle=permit, access=no/destination, highway=pedestrian), not as named polygons — the old polygon-only query returned nothing even after the syntax fix. Detection is now proximity-based (≤12 m from a restricted way) in addition to the legacy polygon lookup, verified live against Ravenna's centro storico (251 restricted ways) and cross-checked against the ~350 Italian cities that do use the official boundary=limited_traffic_zone polygon tag.
Removed the overpass.osm.ch mirror. It turned out to be a Switzerland-only data extract that returned HTTP 200 with zero results for anywhere else — every dependent feature (ZTL, speed limits, speed cameras, POI search) silently read that as "nothing here." Replaced with two verified worldwide mirrors.
Verified live against 24 cities worldwide (12 European historic centres, 12 US cities/car-free towns) to check the new detection actually generalises rather than just fixing Italy. Works well anywhere OSM has restricted-access tagging; known gap where a town's equivalent has never been mapped by the local OSM community (e.g. Tangier Island, VA); intentionally does not flag toll-only zones (NYC congestion pricing, London ULEZ) as ZTL, since those don't restrict entry.
The warning banner now shows the correct local term instead of the Italian "ZTL" everywhere — "ZTL" in Italy and France (both use the same official term), "ZAC" in Portugal, a generic translated phrase elsewhere. Countries with no single official acronym (Spain, Germany, UK…) no longer get one invented for them.
Fixed the spoken ZTL warning, which previously had translations for only 9 of the app's 27 languages and silently fell back to English for the rest.
Navigation
Map no longer flips 180° mid-drive. A GPS multipath glitch could teleport a fix 20+ m backward with an inverted bearing, slipping past the existing distance-based filter. A direction reversal during active navigation is now trusted only after two consecutive GPS samples agree on it — a real U-turn confirms itself on the next fix, a glitch doesn't.
Voice no longer repeats the same instruction 3–4 times on approach to a manoeuvre. The same normalised instruction is now suppressed for 12 seconds at the single choke-point every announcement passes through.
Navigation cursor sits further down the screen, trading a bit of "behind you" for more visible road ahead.
Renamed the button on the pin/place-info panels from "Start navigation" (which actually opened a route preview) to "Show route preview" — "Start navigation" now only appears where navigation genuinely starts.
Security
A malicious relay could have redirected Lightning zaps to its own wallet. fetchLightningAddress trusted a relay's kind-0 profile event without checking its id hash, signature, or that the pubkey matched the person being zapped — fixed by verifying every profile event the same way road events already were.
Logging out no longer destroys local data. It previously called deleteAll() on secure storage, wiping the encrypted-settings key along with it — undecryptable on next launch, silently taking favourites, history and routing/NWC config with it. Logout now removes only the 5 Nostr-identity keys.
One-time report/confirmation fetches (profile screen) now verify event signatures and enforce one-vote-per-identity, matching the live subscription's rules — previously trusted unverified relay data and allowed repeat votes.
Amber (NIP-55) event publishing now broadcasts to all configured relays instead of only the primary one, matching nsec-login behaviour.
NIP-44 decryption now enforces the exact padded length the spec prescribes, rejecting malformed payloads other implementations would also refuse.
Consolidated three duplicated event-verification implementations into one shared, tested helper.
🚗 Roadstr v0.4.5 is live — search, cameras, encrypted favorites & more
🔍 Search is now local-first
Nominatim results biased toward your GPS, with direct OSM category search
(pharmacy, gas station, brands). "Cinema" finds the one down the street,
not halfway across the world.
📹 Speed cameras layer added
OSM highway cameras shown on map, integrated with proximity alerts.
Stays alongside Nostr community reports — never replaces them.
🅿️ Save your parking spot
Local-only, never touches Nostr. Button to mark "I'm here" or long-press
to correct it after you've walked away.
🔐 Encrypted favorites sync via Nostr (NIP-44)
Export favorites as JSON, optionally password-protected.
Cross-device sync via self-encrypted NIP-44 events — relays only see ciphertext.
Implemented NIP-44 from scratch with full test coverage.
🎙️ Voice improvements
Male voices for all languages (except French), 6-stage speed slider,
smoother navigation camera.
🛡️ Security audit completed
Removed dead deeplink intent-filter, replaced Russian Overpass mirror
with Swiss one (no GPS coords to VK), verified no tracking/analytics,
private keys stay secure. License clarified: GPL-3.0.
~120 lint warnings cleaned. Zero compromises on privacy.
Roadstr 0.4.5 out now. All open-source.
#nostr #privacy #bitcoin #routing #grownostr #otherstuff
GitHub
GitHub - roadstrapp/roadstr-app
Contribute to roadstrapp/roadstr-app development by creating an account on GitHub.
New release v.0.4.3
## v0.4.3 (12)
### 🚗 Navigation
- **Speed limits actually work now.** The root cause: `annotations=maxspeed` is a Mapbox-only extension — vanilla OSRM (including the FOSSGIS server we use) never returned it. Speed limits now come from Overpass, with class-based inference (motorway/trunk/residential/living_street) for the many roads that have no explicit `maxspeed` tag, 3 rotating mirrors for reliability, and support in free-roam driving (not just active navigation).
- **Recenter button** now pulls a fresh one-shot GPS fix instead of reusing the last stream sample, so it snaps to your *actual* current position.
- **Compass/heading button** is a real toggle in both navigation and free-roam — free-roam heading-up mode now rotates the map with the magnetometer instead of doing nothing.
- **Secondary instruction panel** (next-turn preview) enlarged ~100% — bigger icon, bigger text, easier to read at a glance.
### 🔊 Voice
- Turn instructions and hazard/ZTL alerts no longer cut each other off mid-sentence. Maneuvers are priority (interrupt immediately); ambient alerts queue and wait their turn, keeping only the most recent one.
- Fixed a race in audio ducking where a stale utterance could release focus meant for a new one, breaking the "duck other media" behavior.
### 🔒 Security
- Nostr events are now cryptographically verified (event hash + BIP-340 signature) before being trusted — a malicious relay could previously fabricate road reports or confirmations under any pubkey.
- One vote per identity per event confirmation (was previously unlimited/re-countable).
- Local settings (favorites, search history) are now AES-256 encrypted at rest, key held in the Android Keystore.
- `debugPrint` is silenced in release builds — no more street names/coordinates/TTS phrases in logcat.
- Event comments capped at 500 chars to prevent relay-side payload abuse.
### 🎬 Onboarding
- Welcome page now shows the real app logo and a privacy notice recommending a VPN (Mullvad, Bitcoin-payable) given that road reports propagate over Nostr.
- nsec login page now shows the same security disclaimer as the profile screen.
- Fixed the Kokoro voice download completion indicator — it was implemented but never actually triggered (listener was waiting on a stream event that never fires); now shows a white check on a green circle when the download finishes.
- GrapheneOS guidance now mentions setting location permission to "Allow all the time," not just "while in use."
NEW RELEASE! roadstr.v.0.4.0.apk
🚀
First-launch onboarding
New
4-page flow on first install: features showcase → Nostr identity → permissions → ready.
Nostr login via Amber NIP-55 (recommended) or nsec key (stored in Android Keystore). Profile name and avatar are fetched from the relay immediately after login.
Dedicated GrapheneOS guidance: grant Precise location (not Approximate) and "Allow always" — not just while in use — to keep GPS active in background.
Optional Kokoro AI voice model download (82 MB) with live progress bar. Can be deferred to Settings → Navigation voice.
Pages are freely swipeable left/right. Fully localised in all 27 supported languages.
Existing users who had already accepted the disclaimer skip onboarding automatically.
⚠️
ZTL / restricted zone ahead warning
Safety
The app now checks whether an upcoming turn leads into a restricted traffic zone at the moment the instruction is announced — before the user enters.
An orange banner and a spoken voice warning trigger at that point. One warning per step, no repeated alerts.
Distinct from the existing red banner shown when already inside a ZTL. The two states never stack.
Warning text is localised — spoken in the user's language at runtime.
🔄
Missed-turn rerouting
Navigation
After advancing to a new step, a 2.5-second guard timer verifies the user is actually approaching the next waypoint.
If distance hasn't improved by 20 m and speed is above 3 km/h, a silent reroute triggers automatically.
🔊
TTS announcement improvements
Navigation
Urban steps now receive an immediate voice announcement right after a maneuver is completed, replacing the previous premature 220 m trigger.
Announcement distances adapt to road type and current speed.
TTS near-threshold (50 m) preserved on all road types.
📍
Cursor styles overhaul
UI
7 selectable cursors rendered from SVG assets via flutter_svg: Arrow, Muscle Car, SUV, Compact, Vespa, Racing Moto, Bicycle.
Settings replaced the icon grid with a dropdown with live icon preview.
All icons point north (direction of travel); heading rotation applied at the marker level.
🌐
Localisation sweep
i18n
Event report categories, transport mode chips, navigation time labels, and weather descriptions are now fully localised across all 27 supported languages.
40 new ARB keys added covering all onboarding screen strings — titles, CTAs, body text, and error messages.
Short UI strings (buttons, titles) fully translated in all 27 locales. Longer body texts fall back to English where professional translation is unavailable.
🔧
Other improvements
Polish
Preview panel (route start) now supports a drag-to-close gesture with spring-back animation, matching the Alternatives panel.
Secondary nav instruction row now shows distance to next maneuver.
Speed limit exceeded → red speedometer arc, text and border.
🗺️ Roadstr 0.3.1 is live
Android navigation, open source, built on OpenStreetMap + Nostr.
What's new:
🎙️ Kokoro-82M for voice guidance (27 languages, no cloud)
🌙 Dark themes with auto dark mode
🧭 Compass with tilt compensation
📍 Speed-adaptive zoom, route planner A→B, traffic alerts with auto rerouting
💾 Saved places, speedometer HUD
🛣️ Report road events (traffic, police, hazards) as Nostr events
No Google Play Services. No tracking. Authenticate with Nostr + Amber.
Download:
ZapStore
or
Github github.com/roadstrapp/roadstr-app
AGPL-3.0. Built with love and mathematics.
#Roadstr #Navigation #OpenStreetMap #Nostr

Zapstore
Roadstr — Zapstore
Roadstr is an open-source, decentralised navigation app for Android, built on the Nostr protocol. It combines real-time GPS turn-by-turn navigation...

Excited to announce that the first beta of roadstr (v0.2.1) is officially live! 🚀
You can find the release on GitHub, or install it directly via Zapstore if you are on Android.
This version brings open-source navigation vibecoded with Flutter, designed to be fast, privacy-focused, and fully integrated with the ecosystem. The build is signed and verifiable (SHA-256 hash attached to the release).
🗺️ Navigation
Turn-by-turn navigation powered by OpenStreetMap / OSRM with real routing data
Voice guidance in 27 languages
Speed-adaptive zoom (zooms in at low speed, out at highway speed)
Automatic rerouting when off-route, with instant silent restart (no cinematic replay)
Arrival detection with feedback dialog
Walking and driving modes (separate OSRM endpoint for pedestrian routing)
A→B route planner with departure point selection
Up to 3 alternative routes for longer journeys
Speed limit signs during navigation (from OSRM maxspeed annotations)
ZTL / restricted zone awareness via OSM access=no tagging
Destination pin dropped on Enter key — pan to location before navigating
📡 Nostr Road Events
Report: police, speed cameras, traffic jams, accidents, road closures, construction, hazards, road conditions, potholes, fog, ice, animals
Events published as kind-1315 on Nostr relays with geohash indexing
Confirmations and denials (kind-1316) with real-time credibility scoring
Category-specific TTLs (1h for traffic jams, 4h for police, 30d for speed cameras…)
In-navigation traffic alert when a new jam appears on your active route
⚡ Bitcoin & Nostr Identity
Lightning zaps via NIP-57 with LNURL-pay
NWC (Nostr Wallet Connect) for in-app payments without leaving the app
Login with nsec private key or via Amber (NIP-55 external signer)
NIP-04 encrypted DM feedback to the developer
🧭 Map & UX
Tilt-compensated compass using magnetometer + accelerometer — all on-device, zero data transmitted
North finder button with smooth animated rotation
Compass cursor showing travel direction during navigation
GPS position button — recenters map with smooth animation
Swipe-up on place info panel expands into browser via Hero transition
Swipe-down with spring-back gesture (cancel before committing to close)
Wikipedia integration for points of interest with geo-disambiguated search queries
Favourite places saved locally — appear in search suggestions when query matches
Search history (last 5 entries)
Purple destination pin on map with one-tap navigation start
🔒 Privacy
No account required, no registration
No analytics, no trackers, no crash reporters
GPS data never leaves the device
Road events published pseudonymously via Nostr keypair
All sensor data (compass, accelerometer) processed entirely on-device
🌍 Open Source & Distribution
AGPL-3.0 licensed
Distributed on ZapStore and F-Droid — no Google Play Store
No Google Play Services required (falls back to Android LocationManager)
Signed release APKs split per ABI (arm64-v8a · armeabi-v7a · x86_64)
Check it out, test the routing, and let me know what you think. Bug reports, feedback, and zaps are highly welcome!
📦 Zapstore:
💻 GitHub:
#nostr #foss #flutter #navigation #opensource #roadstr

Zapstore
Roadstr — Zapstore
Roadstr is an open-source, decentralised navigation app for Android, built on the Nostr protocol. It combines real-time GPS turn-by-turn navigation...
GitHub
Releases · roadstrapp/roadstr-app
Contribute to roadstrapp/roadstr-app development by creating an account on GitHub.

Just rawdogged my nsec into the login screen of the app I am building instead of using an extension or signer, just for fun. No extension, no webLN, just pure manual copy-paste action. It felt illegal typing it out, but the implementation works perfectly. Screens looks clean though 😂


Who controls your maps, controls your direction.
Meet Roadstr, a completely vibecoded navigation app built directly on Nostr. No corporate bloat, no tracking, no Big Tech. Just pure vibes, protocol-level privacy, and the open road.
Roadstr: the maps app you control.
Curious to see what happens when decentralization meets vibecoding?
Follow this profile to catch the first beta updates.
#vibecoding #Roadstr