SystemsFeb 2026 · 5 min read
Virtual Campus started as two requests that arrived separately: prospective students wanted to see the campus from home, and administration wanted to stop tracking equipment in spreadsheets. The obvious move was two tools. The better move was one schema.
A panoramic tour and an inventory system sound unrelated until you notice they share a spine: rooms. Every 360° scene is a room; every tracked asset lives in a room. Model the room properly once — in PostgreSQL, with FastAPI in front of it — and both products become views over the same truth.
The payoff is more than saved effort. When the tour and the inventory disagree about a room, one of them is wrong, and now the system knows it. Disconnected tools can't have that argument; they just drift apart silently, and drift is how data dies.
The lesson I keep: when two projects share a noun, they probably share a schema. Build the noun first. The frontends — React and Pannellum for one audience, an admin panel for the other — are the easy part once the data underneath refuses to lie.
— Mert Ceren, Feb 2026
Next entry
The last 10% is the product