Simam AI Lab Our applied AI research division is now open. Visit the lab
Client delivery under NDA / Construction technology

A live site map that reroutes around today’s closures.

A 2D wayfinding and site-awareness web application for a large construction programme: mapped points of interest and work sectors, live GPS positioning, and routing between any two points over an authoritative GIS path graph that reroutes when a path is closed. Delivered as a phased proof of concept against a contract acceptance list.

The brief

Eight acceptance criteria, and nothing else pretending to be one.

The engagement was scoped against a numbered contract list: render 2D map tiles, interact with a GIS service to determine routing, represent the user accurately on site from GPS, pan by dragging, accept two locations, display the optimal route between them, run on modern browsers, and be written in TypeScript. Everything built served those eight points first; anything beyond them was marked as a stretch and tracked separately.

Delivery shape

Every day landed a demoable increment

The plan mapped each acceptance criterion to a specific day, with a traceability table, so progress was reviewable against the contract rather than against a feeling.

Authoritative routing

The GIS service is the router

Routing decisions come from a server-side GIS path graph rather than from client guesswork, which is what makes the result defensible to the people who own the site data.

Fallback

An on-site snap engine for raw terrain

Parts of a construction site have no roads and no public network at all. A client-side snap engine was retained for those, and for offline use.

What the map actually carries.

A site map is only useful if it models the things site teams argue about: where work is happening, what is closed, what is dangerous, and how to get past it.

Site model

Points of interest, sectors and paths

Modelled as strict types rather than loose JSON: points of interest, sector polygons with status, traversable paths, and the equipment and people moving between them. Category filters let a user reduce the map to what they came for.

Live position

“You are here”, handled honestly

Live GPS with heading and accuracy, a recenter control, and graceful handling of denied permission or no signal — the states that actually occur on a site with steel everywhere.

Closures

Routes that respond to the site changing

Closures are live state, not a static layer. A route requested while a path is closed comes back around it rather than through it.

Hazards

Declared zones and predicted risk

Hazard zones sit alongside a separate predicted-hazard layer driven by a cloud model, kept visually distinct from confirmed hazards so nobody mistakes a prediction for a fact.

Conditions

Site conditions in the same view

Wind and air quality read alongside the map, because on an open site in heat they change what work is safe today.

Authoring

Draw tools behind authentication

Site staff can place and edit points and zones directly, with editing rights separated from viewing rights.

Engineering decisions

The parts that make it deployable rather than demonstrable.

Keys never reach the browser

A thin server proxy fronts everything

The client holds no privileged credentials. A small TypeScript proxy fronts the mapping and routing calls and any model endpoints, and ships as a single container. Map keys that must be client-side are referrer-restricted.

Access control at the edge

Identity-proxied, single sign-on

The deployed application sits behind an identity-aware proxy, so the routing service can be reached same-origin on the session — no second sign-in, and no cross-origin surface to secure separately.

Declarative map

React state drives the overlays

The map is a declarative component with overlay layers driven from application state, so points, sectors, routes and closures stay consistent with each other instead of drifting as imperative layers do.

Typed boundary

Raw responses are parsed, not trusted

Service responses pass through an explicit parse-and-map layer before reaching component state, which keeps a change in the routing service from silently reshaping the UI.

What this proves: a site operations map can be built to a contract acceptance list, deployed behind real access control, and still stay honest about the difference between a confirmed hazard and a predicted one.

Case study decision record

The commercial case, in one view.

Business challenge
A large construction programme needed its people to find their way across an active site, see what was closed or dangerous, and be routed around it — using the site owner’s own geospatial data as the authority.
Why the project mattered
Site movement is a safety and productivity problem before it is a mapping problem. A route that ignores today’s closure is worse than no route at all.
What Simam Digital designed and built
A TypeScript web application rendering 2D map tiles with points of interest, sector polygons, hazard and predicted-hazard layers, live GPS positioning, site condition readouts, authenticated draw tools, and two-point routing over a server-side GIS path graph with live closure rerouting.
Important engineering decisions
Make the GIS service the authoritative router rather than the client; keep a client-side snap engine for raw terrain and offline use; hold every privileged key server-side behind a thin proxy; keep predicted hazards visually distinct from confirmed ones.
Credible outcome
A deployed, access-controlled proof of concept delivered against a numbered contract acceptance list, with each criterion traceable to a specific day of the build.
What it does not claim
This is a proof of concept, not a production site-management platform. Client, site and programme are covered by non-disclosure and are not identified here.
Recommended next engagement
Pilot one operational workflow — closure reporting or hazard escalation — with real site staff on real geospatial data, and measure whether route advice changes where people actually walk.

Need a site or asset map that reflects what is true today?

Both of these builds answered the same question from different directions: authoritative geospatial routing for operational use, and photoreal capture for comprehension and stakeholder communication. They are complementary, not competing.