Case study
Incoming UPLB students often had schedules with unfamiliar room codes and no easy way to map them to real buildings. Room TBA turns campus room data, dorms, buildings, and paths into a searchable 3D viewer.
Reasoning
A fully hosted map service would have made search logic simpler, but it would also add a bill and fail when the network failed. Static hosting with offline storage fit the actual student problem better.
Choice
I used Astro for the static site, three.js for the 3D campus view, and PGlite, a browser SQLite database, stored in IndexedDB for offline room data. Cloudflare handles the small dynamic pieces when the network is available.
What I'd repeat
I moved geometry and search indexing into a Web Worker so the first load could prepare the map without freezing the interface. After that, students could search rooms even when campus Wi-Fi dropped.
Outcome
The app launched before freshman orientation and has helped more than 500 students find classes and dorms. The bigger win was matching the architecture to campus reality: cheap to host, quick to load, and useful offline.
Postmortem: The next improvement would be a cleaner data update workflow so volunteers can refresh room records without touching the application code.
Impact: 500+ student users · offline search · static hosting

