{
  "id": "roadstr",
  "name": "Roadstr",
  "kind": "tool",
  "status": "active",
  "maturity": "alpha",
  "description": "Decentralized road-event reporting app for Android and the web using signed Nostr events, geohash queries and OsmAnd integration. Its compact MeshCore transport format is specified but not yet implemented.",
  "screenshots": [
    {
      "file": "web.png",
      "caption": "Browser road-event map"
    },
    {
      "file": "android.png",
      "caption": "Android and OsmAnd road-event integration"
    }
  ],
  "maintainers": [
    {
      "name": "Juraj Bednár",
      "url": "https://github.com/jooray"
    }
  ],
  "repository": "https://github.com/jooray/roadstr",
  "website": "https://cypherpunk.today/static/roadstr",
  "documentation": "https://github.com/jooray/roadstr/blob/main/SPECIFICATION.md",
  "license": "Unlicense",
  "languages": [
    "kotlin",
    "javascript"
  ],
  "platforms": [
    "android",
    "web"
  ],
  "interfaces": [
    "mobile",
    "web"
  ],
  "connections": [
    "websocket",
    "http"
  ],
  "capabilities": [
    "mapping",
    "notifications"
  ],
  "install": [
    {
      "type": "web",
      "url": "https://cypherpunk.today/static/roadstr"
    },
    {
      "type": "zapstore",
      "package": "com.roadstr",
      "url": "https://zapstore.dev/apps/com.roadstr"
    },
    {
      "type": "github-release",
      "package": "app-release.apk",
      "url": "https://github.com/jooray/roadstr/releases"
    },
    {
      "type": "source",
      "url": "https://github.com/jooray/roadstr"
    }
  ],
  "popularity": {
    "githubStars": 35,
    "githubForks": 2,
    "githubWatchers": 1,
    "githubOpenIssues": 1,
    "githubContributors": 1,
    "releaseDownloads": 689,
    "latestReleaseDownloads": 281,
    "lastChecked": "2026-06-23"
  },
  "verification": {
    "sourceAvailable": true,
    "releasesAvailable": true,
    "signedReleases": false,
    "ciBuilds": false,
    "hasDocumentation": true,
    "lastChecked": "2026-06-23",
    "notes": [
      "Current releases exchange events through Nostr relays; MeshCore transport and mesh-to-internet bridging remain planned.",
      "The Android application integrates with OsmAnd for route display and proximity alerts."
    ]
  },
  "tags": [
    "nostr",
    "road-events",
    "osmand",
    "decentralized",
    "planned-meshcore"
  ],
  "last_reviewed": "2026-06-23",
  "source": {
    "path": "data/software/roadstr/software.yaml",
    "updatedAt": "2026-06-24T01:55:49+02:00"
  },
  "latest_version": "0.2.0",
  "released": "2026-06-16",
  "releases": [
    {
      "version": "v0.2.0",
      "name": "v0.2.0",
      "datetime": "2026-06-16T10:52:18Z",
      "url": "https://github.com/jooray/roadstr/releases/tag/v0.2.0",
      "prerelease": false,
      "notes": "First signed release of the Roadstr OsmAnd plugin.\n\n- Decentralized road event reporting over Nostr (kinds 1315/1316)\n- OsmAnd AIDL map integration with color-coded event markers\n- Bearing-aware proximity alerts (500m ahead)\n- Multi-level geohash spatial queries, NIP-40 expiration\n- Auth via NIP-07, NIP-46 (Amber), ephemeral or generated keys\n\nRequires the OsmAnd app installed.",
      "notesHtml": "<p>First signed release of the Roadstr OsmAnd plugin.</p>\n<ul>\n<li>Decentralized road event reporting over Nostr (kinds 1315/1316)</li>\n<li>OsmAnd AIDL map integration with color-coded event markers</li>\n<li>Bearing-aware proximity alerts (500m ahead)</li>\n<li>Multi-level geohash spatial queries, NIP-40 expiration</li>\n<li>Auth via NIP-07, NIP-46 (Amber), ephemeral or generated keys</li>\n</ul>\n<p>Requires the OsmAnd app installed.</p>\n"
    },
    {
      "version": "v0.1.1",
      "name": "Initial demo release",
      "datetime": "2026-03-09T11:51:07Z",
      "url": "https://github.com/jooray/roadstr/releases/tag/v0.1.1",
      "prerelease": true,
      "notes": "Initial demo release - debug",
      "notesHtml": "<p>Initial demo release - debug</p>\n"
    }
  ],
  "changelogSource": "github",
  "changelogUpdatedAt": "2026-06-23T21:03:37.335Z"
}
