Application & data
A typed HTTP backend with geographic map blocks, application models and a MongoDB 2dsphere index.
Syrian Maps / 2024
Find your way through Damascus.
Or scroll to exploreGeospatial products, route planning, data-rich interfaces, and custom visual tools.
Syrian Maps brings geographic data, route finding and map-management tools together. The experience above lets you explore a small part of that system.
This interactive experience uses simplified versions of the algorithms developed for Syrian Maps (2024). It recreates selected features on a smaller dataset to demonstrate how the original project works.
This recreation uses React, TypeScript and Three.js, with a compact in-memory street graph. The original system used database-backed map blocks and a Canvas 2D dashboard. Building heights here are illustrative; the footprints follow the archived map.
The archived dashboard with the project’s own Damascus map files imported.

Captured from the Express, MongoDB and Canvas 2D dashboard in the original repository, filled with its archived OSM files. The experience at the top of this page is a browser recreation of the same ideas.
From route finding to the tools that keep a map useful.
Try the idea with this experience’s compact, openly licensed map extract. The file contains geometry and routing data, not an offline application.
Production code, supporting tools and experiments, with their roles made clear.
A typed HTTP backend with geographic map blocks, application models and a MongoDB 2dsphere index.
OSM ingestion, coordinate transformations, a custom map renderer, spatial indexing and graph traversal.
Server-rendered dashboard pages and browser tools for map editing, route previews and administration.
Authentication, password hashing, persistent dashboard sessions, uploads and an email-verification hook.
Browser bundles, server compilation, process management, log tooling and a supplied API request collection.
Early interface studies explored Flutter, React and polygon rendering alongside the core system. These experiments are separate from the production backend and dashboard.
Enable Developer mode anywhere in this portfolio to inspect real draw calls, primitives and GPU resources. Switch to wireframe to see the geometry underneath the surface.
In this experience, roads and search traces are line geometry; building surfaces reveal their triangles. Statistics update from the active renderer’s last frame.
Have a similarly specialized problem?