Inspiration
Every venue has an evacuation map on the wall that nobody reads until it’s too late. In a real fire, people don’t know which exit is safe, dispatchers can’t talk to hundreds of people at once, and arriving crews walk in blind. We wanted to build the system we’d want if a fire broke out or any emergency, we can have something that knows the building, talks to everyone in it, and keeps a human dispatcher in control and in the loop. Looking at the past fires in LA, we saw the same problem again and again: the plan existed on paper, but nobody could act on it fast enough when it mattered.
What it does
Aria turns a phone scan of a building into a fire plan, then runs the evacuation live.
Before a fire: a LiDAR scan of the venue becomes a 3D model. Our engine uses it to work out how a fire spreads, which exits stay open, how long everyone takes to get out, and a size-up for responders.
During a fire:
- Alerts: Aria picks a safe exit for every room and texts everyone through Photon: "Reply 1 if you're leaving, 2 if you need help finding an exit, or HELP."
- Calls: anyone who replies 2, or doesn't reply within 60 seconds, gets a call from an ElevenLabs voice agent that finds out where they are and walks them out. Words like "trapped" or "can't breathe" hand the call to a human dispatcher.
- AI command staff: six CREAO agents (an Incident Commander, plus Intake, Evacuation Coordinator, Accountability, Responder Liaison and Scribe) read the live picture from TigerData. They pin hazards, propose reroutes, decide who to call next, and write the briefing for arriving crews.
- The dispatcher: watches everything on a live 3D console. A "Needs you" queue shows people
How we built it
- Scan: four LiDAR room scans stitched into one 3D model, with the second floor built from the building's fire-alarm panel, for first responders to get a better sense of the room.
- Fire engine: a Python zone fire model. For any starting room, it predicts smoke spread, when each room becomes unsurvivable, flashover, and when each exit is lost.
- Routing and size-up: capacity-aware routes that avoid exits the fire will take, plus a responder briefing with timings, open exits and every assumption labelled.
- 3D viewer and console: Next.js and three.js show fire and smoke spreading over the scanned building. Dispatchers get a live console with a "Needs you" queue and an after-action report.
- Photon and ElevenLabs: texts and voice calls. The voice agent sends what the caller says to our backend mid-call and reads back the approved route.
- TigerData: the backbone. Every text, call and exit movement is stored and streamed live to the console and the AI staff.
- CREAO: a six-agent command staff that proposes actions. Aria checks each one against the real building and holds it for dispatcher approval.
- Paper and Sentry: we designed the console in Paper and monitored errors with Sentry.
- Stack: FastAPI on Railway, a Node/TypeScript messenger, Supabase and Vercel.
Challenges we ran into
- Multi-agent coordination: getting six agents to hand off work without looping, double-calling people, or acting on stale data.
- Stitching the scans: aligning separate LiDAR room scans into one building, then placing every exit, room and person precisely on it.
- Connecting ElevenLabs and CREAO: CREAO couldn't call our tools directly, so the agents return their actions in their replies and our backend runs them safely.
- Real-time mid-call: ElevenLabs only releases a transcript after hang-up. So we built a live tool the voice agent calls during the conversation, and the caller's location shows up on the map while they're still talking.
Accomplishments that we're proud of
- Our own fire engine: a physics-based fire and evacuation model, built from scratch this weekend. It predicts smoke, flashover and lost exits for any room in the building.
- A real building in 3D: four separate LiDAR scans stitched into one accurate model of the venue we're sitting in, with every room, exit and person placed on it.
- Agents working in real time: six CREAO agents reacting to live texts and calls as they happen, handing work to each other and proposing actions within seconds.
- One connected system: scan, engine, texts, calls, AI staff and the dispatcher console all run off the same building model and talk to each other live.
- Distress handoffs: an AI-run call transferred to a human dispatcher on words like "trapped" or "can't breathe".
What we learned
- In emergencies, the guardrails matter as much as the AI. Our agents only use real exits, never mark a silent person safe, and never text a route on their own.
- Time-series data fits a live incident. TigerData gave us live stats and streaming without a separate pipeline.
- Real-time is hard across platforms. Each service reports data at a different moment, and we had to design around that.
What's next for Aria
- Onboard more buildings, so any venue goes from a phone scan to a live plan in an afternoon.
- Multilingual texts and calls, and routing for people with mobility needs.
- A responder view on crews' phones, built from the Liaison's briefing.
- Hooks into fire alarm panels, so Aria starts the moment an alarm trips.
Built With
- ai-agents
- creao
- elevenlabs
- fastapi
- lidar
- mcp
- multi-agent
- node.js
- photon
- postgresql
- python
- railway
- sentry
- supabase
- tigerdata
- typescript
- vercel
- voice-ai


Log in or sign up for Devpost to join the conversation.