works · professional work

Interactive Mall Directory

A touchscreen wayfinding system for shopping malls: search for a store and watch the route drawn across floors, in 2D or 3D.

period
2026
role
Lead engineer, backend and frontend
stack
PHP · Laravel · Alpine.js · Leaflet · three.js · React · TypeScript · MySQL

the problem

Visitors to a large multi-floor mall need to find a store and get there, from a kiosk or from their own phone. The mall team, in turn, needs to keep floors, tenants and routes current without calling an engineer.

the approach

  • Routes are computed on the server with Dijkstra over a graph of waypoints and corridors. A multi-floor route travels through lifts, escalators and stairs weighted by travel time, never passes through the same floor twice, and skips any corridor segment that would cut through a unit.
  • The default view is a 2D map built on Leaflet, with search on an on-screen keyboard, category browsing and one-tap routes to the nearest facility. The route is drawn and animated floor by floor.
  • A 3D view built with three.js is extruded from the same floor plans and loaded only when opened, with a walking character following the route. Geometry is merged and labels come from a single texture atlas, so it holds up on kiosk hardware.
  • The admin panel lets the mall team do the rest themselves: a visual waypoint and corridor editor, an inter-floor connection manager, a 3D geometry editor, a floor-plan designer, tenant, advertisement and kiosk management, and an application health dashboard.
  • Each kiosk knows where it stands, so every route starts from its own position. A signed QR code hands the route over to the visitor's phone, and the interface runs in English, Malay and Chinese.

the outcome

  • Built for a major retail group in Malaysia; one installation serves more than one mall.
  • Wayfinding in 2D and 3D across seven floors, from kiosks and phones.
  • Routing, geometry and the editors are covered by PHPUnit and Vitest suites.

Professional work. Client details and screens are withheld; happy to walk through it in conversation.