← All work
TreeHacks 2026 · Full-stack

Atria

Hospitals decide who gets discharged, who gets a bed, and who works the next shift, mostly without forecasting. Atria puts a model in that loop without taking the decision away from anyone.

Role
Full-stack developer
Built at
TreeHacks 2026
Devpost
atria-az68sw
Stack
Next.js · TypeScript · Three.js · WebSockets · Python
Multi-agent Real-time streaming Human-in-the-loop 3D digital twin

Scoping it

Most hackathon healthcare projects are a diagnosis model. We went the other way and looked at operations, because the calls hospitals make constantly and under pressure are logistical ones: discharge this patient or hold them, open this bed, staff this shift. Those decisions get made with experience and a spreadsheet, not a risk forecast.

The thing I pushed for early was refusing to build one dashboard. A charge nurse and a bed operator have different jobs, different time horizons, and different tolerances for detail. One screen serving both would have served neither, which is the usual reason hospital software gets ignored.

Two surfaces

The operator command center

A live view of the whole floor for the person making allocation calls. This is the surface I built. A multi-agent backend runs the forecasting, and the interface streams each agent decision over WebSockets as it happens.

The streaming is the point. Batch output gives you a recommendation with no visible reasoning, and nobody responsible for patients is going to act on that. Watching the decisions arrive one at a time means an operator can see what the system is weighing and stop it before anything executes.

Nurse-facing shift handoffs

Handoff is where operational context gets lost, and it happens several times a day. The second surface is built for that moment specifically, rather than being the operator view with fields removed.

Human-in-the-loop, by design

Every agent decision is visible and reversible before execution. In a hospital, a system that acts first and explains later isn't a faster system. It's one nobody turns on.

The 3D digital twin

Bed allocation is spatial, and reading it off a spreadsheet forces you to reconstruct the floor in your head every time. I built a Three.js model of the floor so capacity is something you look at instead of something you parse.

It also does real work for the streaming interface. When an agent proposes moving a patient, the proposal appears on the map, so you can see whether it makes sense spatially before approving it.

← The Yearbook All work →