Google Storm πͺοΈ
Google Storm is a bilingual mobile/web platform that combines Gemini AI and the Google Maps Platform to guide communities through disasters and everyday challenges.
Think of it as Google Maps specialized for community resources: shelters, food banks, free clinics, and volunteer opportunities β all accessible through a conversational AI chatbot.
π Inspiration
Living in Miami, one of the most hurricane-prone areas in the U.S., highlighted the urgent need for a tool that connects people to life-saving resources quickly.
While weather apps provide storm forecasts, they donβt tell you where to find shelter, food, or medical help. Google Storm was built to fill that gap.
π οΈ What it does
- π§ Gemini AI Chatbot β Conversational help in English or Spanish.
- πΊοΈ Google Maps Integration β Real-time map of shelters, clinics, food banks.
- ποΈ Emergency Mode β Quick toggle to show only open shelters with safe routes.
- π€ Community Contributions β NGOs and users can submit/update resources (moderated by AI).
- π€οΈ Weather & Hurricane Alerts β Integrated feeds from NOAA, AccuWeather, and NWS.
βοΈ How we built it
- Frontend: Next.js + React + Tailwind (with Vercel/Firebase Hosting).
- Backend: Firebase Functions & API routes in Next.js.
- Database: Firebase Firestore for resources, pending approvals, and user data.
- Authentication: NextAuth.js + Google OAuth.
- AI: Gemini 1.5 Flash for intent detection, bilingual responses, and moderation.
- Maps: Google Maps JavaScript API & Google Places API for locations.
- Weather & Storm Data: OpenWeatherMap, AccuWeather, NOAA, and National Weather Service APIs.
Custom APIs implemented:
/api/placesβ Search resources (food banks, clinics, shelters)./api/intentβ AI-powered intent detection./api/resourcesβ Manage community-contributed resources./api/hurricanesβ Aggregate hurricane tracking data./api/weatherβ Fetch real-time weather alerts.
π§ Challenges we ran into
- π API Overlap β Handling multiple data sources (Google Places, NOAA, AccuWeather) without duplication.
- π Time Crunch β Building a reliable MVP in under 48 hours.
- π Security β Safely exposing Maps API keys while proxying server requests.
- π€ AI Moderation β Getting Gemini to validate user submissions accurately.
- π Data Availability β Some shelters and food banks arenβt in Google Places, so we had to seed them manually.
π Accomplishments that we're proud of
- Built a fully working bilingual AI chatbot + live map in <48 hours.
- Created a community contribution flow with AI moderation.
- Integrated multiple government and weather APIs into one seamless experience.
- Designed an interface that is simple enough to use during a crisis.
π What we learned
- How to combine AI + Maps + real-time data feeds into a meaningful, life-saving product.
- Best practices for Firebase security rules and API key management.
- Prompt engineering for multilingual AI intent detection and moderation.
- The importance of clear UX under stressful conditions (big buttons, easy toggles, mobile-first).
π Whatβs next for Google Storm
- β
Partner with NGOs & local governments to auto-update resources.
- π² Add push notifications for real-time storm alerts.
- π‘ Offline mode for when internet access is down.
- π Expand beyond Miami to other disaster-prone regions worldwide.
- π Add volunteer matching and crowd-sourced population density tracking.
π APIs & Tools Used
- Google APIs: Maps JavaScript, Places, Geocoding
- Weather APIs: OpenWeatherMap, AccuWeather, NWS, XWeather
- Hurricane Tracking APIs: NOAA NHC, HURDAT, AccuWeather Tropical
- Government Sources: NOAA advisories, NWS alerts
- Authentication: NextAuth.js, Google OAuth
- Database: Firebase Firestore + Firebase Admin SDK
- Internal APIs:
/api/places,/api/intent,/api/resources,/api/weather,/api/hurricanes
β¨ Built with care at ShellHacks.
Built With
- accuweather
- firebase-(hosting
- firestore
- functions)
- geocoding)
- google-gemini-1.5-flash
- google-maps-platform-(maps-javascript
- google-oauth
- national-weather-service
- next.js
- nextauth.js
- noaa
- openweathermap
- places
- react
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.