- Inspiration
Whenever a natural disaster or emergency hits, the biggest problem isn't always a lack of information—it's that the information is disconnected from action. Most weather or alert apps are completely passive; they tell you a storm is coming or an earthquake happened, but they don't give you a direct way to call for help if you're trapped in it.
We wanted to fix that broken loop. We realized we needed a "digital life-link"—a platform that merges real-time, AI-driven disaster tracking with an active, dead-simple SOS panic button. We wanted to build something that doesn't just induce anxiety by showing you red dots on a map, but actually empowers you to do something about it.
- What it does
Alertify.ai is a mobile-first emergency dashboard and disaster tracker. At its core, it does two things:
Passive Monitoring: It uses an AI-driven backend to scrape and ingest live disaster data (like seismic activity or extreme weather), displaying it on an interactive map. It automatically tracks your location and tells you if you are in a "Safe Zone" or a "Danger Zone."
Active Response: If things go south, the app features a "Hold-to-Confirm" SOS button. Holding it for 3 seconds grabs your exact GPS coordinates and broadcasts them directly to a real-time emergency database, updating your status instantly.
- How we built it
We split the architecture into a high-performance frontend and a deep-learning data ingestion backend. For the frontend, I used the absolute latest stack: React 19, Vite , and Tailwind CSS v4. We used tanstack Router to keep navigation lightning-fast and shadcn/ui to build out our "creamy glassmorphism" UI so the app feels modern and calming rather than chaotic. The interactive map was built using Leaflet. My partner built the backend engine using Python to handle the AI logic and data scraping. But the real glue holding this together is Supabase . We used it for literally everything—Auth, PostgreSQL database, and Realtime subscriptions. When the Python script detects a threat, it pushes a row to supabase, which instantly pops up on the React frontend without a page refresh. Finally, we didn't want to rely on basic city-matching to warn users. We wrote a dynamic function using the Haversine formula to calculate the exact distance between the user's GPS and the disaster's epicenter. If the distance $d$ is less than 25km, the dashboard turns red.
- Challenges we ran into
Honestly, making a web app feel like a native mobile app is incredibly frustrating. We had to battle default browser behaviors—like text-selection highlighting on our SOS button and the annoying browser "scroll bounce." We spent hours tweaking global CSS (user-select: none, env(safe-area-inset-bottom)) just to make the UI feel tactile and native.
We also lost a solid chunk of time to a hilarious but painful build error where an auto-import typo'd our map library as flet instead of leaflet, completely breaking the app right when we were trying to test the UI. Wiring up the Supabase Realtime subscriptions to play nicely with React 19's new rendering behaviors also took some serious trial and error to prevent duplicate map markers from spawning.
- Accomplishments that we're proud of
Getting the app to compile into an actual Android APK using Capacitor was a huge win. Seeing our web code running as a native app on a physical phone, and watching the SOS button successfully ping the database with real GPS coordinates, was an incredible feeling. We're also really proud of the UI; we managed to make an emergency app look beautiful and professional.
- What we learned
We learned that writing formal design docs before coding saves you from a world of hurt. We actually mapped out our Auth flow using EARS pattern requirements before touching the keyboard, and it made implementing the Supabase Auth almost frictionless. I also learned that Supabase is basically a hackathon cheat code—it saved us days of backend boilerplate.
-What's next for Alertify.ai
We have a pretty ambitious roadmap. Next up is implementing an Offline Mesh Network mode, allowing phones to bounce SOS pings off nearby devices via Bluetooth when cellular towers go down. We also want to compile the iOS version using Capacitor and wire up Firebase Cloud Messaging (FCM) so users can get critical push notifications even when the app is closed.
Built With
- capacitor
- groq
- html
- javascript
- leaflet.js
- node.js
- postgresql
- react
- supabase
- tailwindcss
- tanstack
- typescript
- vite

Log in or sign up for Devpost to join the conversation.