roadstrapp's avatar
roadstrapp
roadstrmaps@iris.to
npub1cwft...5mmc
roadstrapp's avatar
roadstrapp 20 hours ago
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's avatar
roadstrapp 5 days ago
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.
roadstrapp's avatar
roadstrapp 6 days ago
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
roadstrapp's avatar
roadstrapp 1 week ago
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
roadstrapp's avatar
roadstrapp 1 week ago
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.
roadstrapp's avatar
roadstrapp 2 weeks ago
🚗 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
roadstrapp's avatar
roadstrapp 2 weeks ago
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."
roadstrapp's avatar
roadstrapp 2 weeks ago
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.
roadstrapp's avatar
roadstrapp 3 weeks ago
🗺️ 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
roadstrapp's avatar
roadstrapp 0 months ago
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 image
roadstrapp's avatar
roadstrapp 0 months ago
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 😂 image
roadstrapp's avatar
roadstrapp 1 month ago
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