Back to work

OSMRoad

3D Visual Study Bali road network in OSMRoad, color-coded by road class
Routing & Mobility Global (any OSM extract)

Project Overview

OSMRoad opens OpenStreetMap road extracts (.osm.pbf) directly in the browser. Parsing, indexing and rendering run client-side in Web Workers and WebAssembly, so a loaded file is never uploaded anywhere. Roads are color-coded by highway class, and traffic signals, barriers and access restrictions each get their own layer. Beyond viewing, it routes between two points, searches by OSM ID or tag, edits tags and exports back to .osm.pbf or GeoParquet. An AI assistant turns questions in English or Indonesian into SQL that runs on DuckDB-wasm, with an offline parser as the last fallback. The whole app ships as one Cloudflare Worker, with sample extracts streamed from R2.

Outcomes & contributions

  • Client-side .osm.pbf parsing in Web Workers, with a streaming load so the main thread never holds the whole file.
  • Render mode (full vector, hybrid or raster) picked automatically by file size, which keeps extracts with 24M+ nodes usable.
  • Natural-language queries in English and Indonesian: SumoPod first, Workers AI as fallback, and an offline NL2SQL parser behind both.
  • Round-trip editing: tag edits export back to .osm.pbf (full or roads-only) or to GeoParquet for QGIS, GeoPandas and DuckDB.
  • Ships as a single Cloudflare Worker with R2-hosted samples, an Overpass API proxy and an installable PWA shell.

Technology Stack

  • React 19
  • TypeScript
  • MapLibre GL JS
  • Web Workers
  • DuckDB-wasm
  • GeoParquet
  • Cloudflare Workers
  • Cloudflare R2
  • Workers AI
Available for geospatial projects & technical consulting

Have a project, spatial challenge, or role in mind?

Let’s discuss WebGIS architectures, spatial data pipelines, or routing solvers tailored to your needs.

D

Portfolio Assistant

AI Guide · Online