Inspiration
A building can have cameras everywhere and still leave its security team with unanswered questions: Are those cameras in useful places? What happens between floors? Would a different arrangement improve detection?
"in one study of professional CCTV operators, they detected only about 55% of target behaviors on average during a 90-minute surveillance task; only 12% detected more than 75%,” -Science Direct, 2025
“95% surveillance coverage, 98% detection accuracy, an 85% reduction in dead zones, and 40% fewer cameras” -2026 Scientific Reports Study
We built Robsight to make those questions visible and measurable. Inspired by the spaces we move through every day, we wanted to turn a floorplan into an interactive environment where people could explore defensive security decisions before changing a physical building.
Our starting point was simple: security planning should be something you can see, compare, and explain.
What it does
Robsight is a defensive security planning prototype that brings floorplans, simulation, and camera placement into one interactive 3D workspace.
Users can import a Floorplanner JSON FML plan, explore rooms and connections, and add security cameras with configurable positions and viewing directions. Our demonstration includes an estimated six-floor building with an exterior presentation, an exploded interior view, and connections between authored stair and elevator locations.
The application runs lightweight simulations of fictional agents moving through a simplified building graph. It records actual simulated outcomes, including observations, undetected completions, incomplete scenarios, and time to first detection. Live views and representative replays make those outcomes easier to inspect.
Robsight also recommends camera layouts using a transparent optimization process. It preserves the existing camera count and hardware properties, evaluates alternative positions and headings, and compares the original and suggested layouts on separate held-out scenarios. The interface reports both improvements and remaining gaps.
Optional integrations support saving experiment history with Tiger Data, narrating measured reports with ElevenLabs, and explaining results in plain language.
How we built it
We built the frontend with Vite, Three.js, and JavaScript, with a TypeScript simulation core, Web Workers for background computation, and Zustand for shared result state.
The central architectural decision was to separate presentation from simulation. Three.js renders the building, while the simulation operates on a semantic graph of rooms and traversable connections. That lets us evaluate many scenarios without rendering every simulated agent at every step.
Camera observations account for range, field of view, and planar wall and doorway visibility at graph nodes. Seeded randomness makes runs reproducible and supports comparisons using the same inputs.
For camera placement, we combined greedy relocations with bounded local search. The objective balances detection, undetected completions, early observation, coverage, and redundant overlap. We then evaluate the selected layout against scenarios that were excluded from training.
Our optional server services keep credentials outside browser assets. SmartSpectra expression scores can also provide a frozen, fictional scenario-intensity input. That feature changes simulation behavior; it does not assess real-world danger or intent.
Challenges we ran into
The hardest challenge was keeping the visual building and the simulation consistent. Moving a room or doorway needed to update ownership, wall cutouts, and graph connections—not just the mesh on screen.
Multiple floors added another layer of complexity. Exploding the building helps users inspect it, but those display offsets must never change physical travel timing or allow cameras to observe across floors.
We also had to distinguish meaningful comparisons from attractive results. An optimizer can improve the scenarios it was trained on without improving unseen scenarios. Keeping training and held-out evaluation separate became essential to reporting the result honestly.
Finally, combining editing, live simulation, replay, and reports required careful state management so that stale results could not survive changes to the plan or security configuration.
Accomplishments that we're proud of
We’re proud of building an end-to-end workflow: import a plan, annotate cameras, run scenarios, recommend a layout, and inspect the comparison.
The application connects an explorable 3D environment to computed outcomes. Users can examine recorded paths and remaining coverage gaps instead of relying on a single score.
We’re also proud that the core system works without an LLM. Simulation and optimization produce the measurements; optional AI features help communicate them.
Most importantly, we made the prototype explicit about its limits. Estimated geometry stays labeled as estimated, live outcomes stay separate from placement training, and a suggested layout does not come with an unsupported guarantee.
What we learned
We learned that explainability starts in the architecture. Reproducible inputs, clear objectives, and separate evaluation data make a recommendation easier to trust and challenge.
We also learned how much complexity hides inside a floorplan. A doorway is simultaneously a visual object, an editable component, and a connection that affects movement and visibility.
The biggest lesson was that a compelling 3D interface becomes useful when it helps people ask better questions about the data behind it.
What's next for Robsight
Our next priority is making the model more faithful to the spaces it represents. That means calibrated geometry, editable floor connections, and observation checks during travel rather than only at graph nodes.
We also want to add practical placement constraints, installation costs, and access-control rules so recommendations reflect real planning tradeoffs.
Beyond that, we plan to support exporting edited plans, applying suggested layouts, and improving performance for larger buildings.
Our goal is to develop Robsight into a collaborative planning tool where teams can explore alternatives, understand their limitations, and make better-informed defensive security decisions.
Log in or sign up for Devpost to join the conversation.