2026 · INTERNAL TOOLS | SAFETY
Fire Drill Checklist
A real-time, building-by-building room-check list for fire drills, synced daily to the school's actual rotation and bell schedule.
Built at Immaculata-La Salle High School

Tech Stack
Overview
During a fire drill, staff needed to confirm every classroom and space was cleared, block by block. But ILS runs a rotating schedule, so 'Block A' isn't the same wall-clock time or teacher two days in a row, and there was no shared source of truth for which rooms belonged to which block on any given day. I built a checklist grouped by building and then by building leader, polling every 2 seconds so multiple staff checking different zones see each other's progress live without a checkbox flickering back mid-tap. A rotation banner reads the day's real bell schedule, synced daily through a shared internal feed, and auto-selects the checklist's current or next-up block, so staff aren't figuring out 'what block are we in' during an actual drill. It's one of three sub-apps sharing the 'ILS Activities' Azure Static Web App.
Impact
Who it serves: 890 students and 100 staff, every building on campus during a drill
Before
Fire drills were tracked on paper or verbally, block-to-room assignments lived in someone's memory or an old printout, and there was no real-time view of which rooms across campus still hadn't been confirmed cleared.
After
Every staff member checking a building sees the same live list, grouped to match how campus is actually organized, with the day's real rotation block already resolved for them.
Est. Annual Cost Saved
$2,095/yr
Estimate, not an audited figure. Methodology and sources are disclosed above for each comparable product.
What I Built
- Real-time checklist polling every 2 seconds so multiple staff checking different buildings see each other's checkmarks live, without clobbering an in-flight tap
- Items grouped by building, then banded by building leader independent of storage order, so staff can find their zone fast during an actual drill
- Rotation banner reads the day's real bell schedule (daily-synced through a shared internal feed) and auto-selects the current or next-up block
- Per-block reset with a confirmation step and a last-reset audit line (who/when)
- Staff-only admin panel to manage the location list per block and control access, independent of the other two ILS Activities sub-apps
What I Learned
Buffering in-flight taps against the 2-second poll kept a checkbox from visually flickering back before the server confirmed it, needed once multiple staff could hit the same block screen at once.
ILS's rotating schedule means 'Block A' isn't the same time or teacher two days running. Reading the real daily rotation feed instead of a static bell schedule was the only way to make the auto-selected block trustworthy during an actual drill.
Building-leader bands had to be assigned independent of storage order, since some locations were added to Cosmos in unrelated batches and don't sit adjacent to the rest of their leader's zone.