Inspiration

In a real evacuation, the hardest part isn’t just getting people out, it’s confirming who is safe quickly enough to act. In hostels, RAs often end up relying on manual headcounts, WhatsApp messages, and incomplete information while everyone is stressed and moving. We wanted a faster, clearer, and more accountable way to take attendance at evacuation points, so responders can focus on the few who might genuinely need help.

What it does

NUSNextAlert is a real-time evacuation attendance app built for NUS hostels: Resident check-in (location-verified): Residents can only mark themselves “accounted for” when they are within a set radius (e.g., 100m) of the correct evacuation checkpoint using GPS-based proximity checks RA live dashboard: RAs get a real-time list of who is accounted for vs unaccounted for, so they can immediately see who is still missing. Manual overrides (with accountability): If a resident can’t check in due to phone/GPS issues, RAs can manually mark attendance with a reason, keeping the process transparent. Admin configuration: Admins can set checkpoint locations and radii (and manage groups like blocks/floors) so the system matches real on-ground evacuation plans. Incident flow: Supports an “incident-style” workflow from start → live tracking → closeout, so the attendance record is organized and reviewable.

How we built it Frontend: Next.js (App Router), React, TypeScript, Tailwind CSS Backend & Database: Firebase Authentication + Firestore Realtime sync: Firestore real-time listeners so updates propagate instantly to the RA dashboard Location verification: Browser Geolocation API + distance calculation (e.g., Haversine) to validate proximity to the checkpoint Role-based access: Different views and permissions for residents, RAs, and admins

Challenges we ran into

GPS accuracy + edge cases: Indoor positioning and signal drift can be messy, so we had to design for “good enough” geofencing and provide manual fallback paths. Realtime consistency: Getting the dashboard to feel instant while keeping data structured and safe required careful Firestore reads/writes and rules planning. UX under stress: In emergencies, people won’t read long instructions, so the flow had to be minimal: open → check → confirm → done.

Accomplishments that we’re proud of A working end-to-end incident workflow: resident check-in + RA tracking + admin setup Live, real-time attendance that updates immediately without refreshing Location-verified check-ins to reduce false attendance A clear manual override + reason system that balances reliability with accountability

What we learned Designing for safety is as much about human behaviour and edge cases as it is about code. “Real-time” isn’t just a feature; it changes how people coordinate and make decisions. Emergency UX has to be fast, calm, and forgiving (clear status, minimal taps, good fallbacks).

What’s next for NUSNextAlert Push notifications / alerts when an incident starts and when residents are still unaccounted for Offline / low-signal mode (e.g., SMS fallback or cached check-in attempts) Better identity + hostel integration (import official resident lists, block/floor mapping) Stronger audit & analytics (post-incident timeline, attendance duration, bottleneck reporting)

Multi-checkpoint support for larger events and dynamic evacuation routing

Share this project:

Updates

Submission history