- Problem
- Visitors get lost in hospitals, universities, and government buildings. Existing solutions require beacon hardware, app installs, and full-time maintenance — costs that exclude the buildings that need wayfinding most.
- Constraints
- Zero hardware deployment. No app install. Multi-tenant with strict per-building isolation. Accessibility constraints (wheelchair-only paths, restricted floors) treated as first-class. Single founder-engineer — operational simplicity is non-negotiable.
- Architectural decisions
-
- Graph-based spatial model with 20+ entity types and 7 connection types — paths, doors, elevators, stairs, accessibility predicates — instead of a flat coordinate system. Pathfinding becomes a constrained graph query.
- Photo-corridor wayfinding: directional frame sequences indexed against the graph, replacing GPS or beacon trilateration. Cheap to deploy, robust indoors.
- QR-code entry points as session bootstrap — no install, no account, but session-scoped analytics that survive page reload.
- Server-rendered frontend (Next.js) for fast cold starts on shared kiosk devices and low-bandwidth visitor networks.
- Tradeoffs
- Manual photo capture is the deployment cost we accept in exchange for hardware-free operation. The graph model is more complex than a flat map, but it pays back the moment accessibility constraints, multi-floor routes, or per-tenant overrides enter the picture — which is on day one.
- Stack
- Next.js 15React 19TypeScriptPostgreSQLPrismaDockerMinIO
- Outcome
- Production platform serving institutional buildings; multi-tenant admin with RBAC, branding, analytics, and four-language i18n; ~190 source files, 60+ automated tests, ~500-line schema.
- Lesson
- Two weeks spent on the domain model bought a year of feature velocity. Domain modelling is leverage; the rest of the stack is tactics.