Inspiration

Mamdani requesting for snow shoveler, California wild fires needing volunteers, home heated by tornadoes looking for volunteers. That what inspired me to build an app that helps mobilize vonluteers closest to the e

What it does

CivicSurge pre-registers volunteers with their location, skills, and resources. When an emergency hits, city officials drop a pin on a map, set an impact radius, and hit Mobilize. Our engine instantly matches the closest, most qualified volunteers and notifies them. Volunteers accept, check in, and receive task assignments — all in real time. The differentiator: IoT sensors can auto-trigger mobilization when flood levels or wind speeds cross thresholds. At 3 AM with no official awake, volunteers are already being notified. A predictive layer warns before disasters even hit, so coordinators can pre-mobilize.

How we built it

Next.js 14 + TypeScript full stack, PostgreSQL with Prisma, Socket.io for real-time updates, Leaflet for interactive maps, MQTT for IoT sensor communication. Auth0 for authentication, Gemini API for AI-generated incident reports and volunteer briefing. The matching engine scores volunteers on proximity, skills, and resources with automatic radius expansion.

Challenges we ran into

Maintaining consistent system design across a full-stack real-time application was an ongoing challenge — keeping the admin dashboard, volunteer portal, and public map visually and architecturally aligned while building under time pressure. Frontend bugs around map rendering, Socket.io event handling, and state synchronization across multiple views required constant debugging. Our biggest technical hurdle was performance. The matching engine queries every available volunteer, scores them, and sorts by composite score — which works fine with a small dataset but degrades noticeably as records scale. Operations like creating a surge event chain multiple API calls sequentially — geocoding, volunteer fetching, scoring, deployment creation, and Socket.io broadcasts — making the response feel sluggish. We had to keep our seed data small to test functionality without hitting these bottlenecks, which is something we'd address in production with database indexing, query optimization, and batching redundant API calls

Accomplishments that we're proud of

Built a full real-time emergency coordination platform in 24 hours — intelligent volunteer matching based on proximity, skills, and resources, IoT auto-triggered mobilization with predictive warnings, interactive map-based event declaration and live deployment tracking, complete volunteer lifecycle from notification to on-site task assignment, AI-powered skill extraction, and real-time sync across admin, volunteer, and public dashboards

What we learned

context engineering prompting. working with socket.io

What's next for Civic Surge

Integration with international organization for volunteering like WHO, Red Cross. Integration of real world to connect through IoT Systems for disaster prediction,

Built With

Share this project:

Updates