Inspiration
The inspiration behind SaveYah came from observing how emergency situations are often handled in many communities through scattered WhatsApp messages, phone calls, and delayed reporting systems. In many cases, people nearby are willing to help, but they lack timely and accurate information.
I was especially moved by the increasing cases of gender-based violence (GBV) in Kenya and the reality that many victims cannot openly seek help during dangerous situations. Traditional panic buttons are often too visible and can place victims at even greater risk if discovered by an aggressor.
This inspired me to think beyond a normal emergency app and design a solution that prioritizes discretion, speed, and safety. I wanted to create a platform where communities could coordinate emergency response in real time while also providing vulnerable individuals with a silent and accessible way to call for help and preserve critical evidence.
What it does
SaveYah allows users to report emergencies and instantly notify nearby users and emergency contacts using real-time updates and geolocation services.
Key features include:
- Real-time emergency reporting
- Interactive live incident maps
- Nearby emergency resource discovery
- AI-assisted emergency categorization
- Community verification of incidents
- SOS emergency mode
- Hidden GBV panic trigger system
- Emergency WhatsApp alerts
- Location sharing during emergencies
- Automatic emergency audio capture for evidence preservation
- Secure cloud storage for emergency evidence
- Anonymous emergency reporting options
The platform is designed to reduce emergency response delays and improve community coordination during crises.
How I built it
SaveYah was built using the following technologies: Frontend Framework: React 18 + TypeScript Build Tool: Vite (rolldown-vite) Styling: Tailwind CSS 3 UI Components: shadcn/ui (built on Radix UI primitives) Routing: React Router v7 Maps: Leaflet.js + leaflet.markercluster Auth: Supabase Auth Forms: React Hook Form + Zod validation Notifications: Sonner (toast) Icons: Lucide React Carousel: Embla Carousel Charts: Recharts HTTP Client: Ky + Axios
Backend / Cloud Backend-as-a-Service: Supabase (Auth, PostgreSQL, Realtime, Storage) Serverless Functions: Supabase Edge Functions (Deno runtime) AI Classification: Gemini 2.5 Flash (via Edge Function) WhatsApp Messaging: Twilio API Database: PostgreSQL (via Supabase)
I used:
- Mobile-first responsive design (React + Tailwind)
- Realtime incident feed via Supabase Realtime channels
- Edge Functions for secure operations (AI classification, Twilio WhatsApp, GBV alerts)
- Private GBV incidents with visibility controls (public / trusted_only / private)
- Trusted contacts stored in PostgreSQL with RLS policies
- Silent audio capture via browser MediaRecorder API
The frontend was designed mobile-first to ensure accessibility and fast interaction during emergencies. The hidden GBV panic feature was carefully designed to remain discreet while still providing fast emergency escalation and evidence capture functionality.
Challenges I ran into
One of the biggest challenges was balancing emergency functionality with user safety and simplicity. I needed the platform to react quickly during emergencies while still remaining easy to use under stressful conditions.
Implementing real-time updates and synchronizing incident data across users was another challenge, especially when handling live location and notification flows.
Designing the hidden GBV panic system also required careful thinking. I wanted a trigger mechanism that would remain discreet and natural while minimizing accidental activation.
Another challenge was ensuring that the platform remained lightweight and mobile-friendly while supporting advanced features like live maps, audio recording, and real-time communication.
Accomplishments that I'm proud of
I am proud that SaveYah goes beyond being just another emergency reporting app. The platform focuses on real-world problems and community-centered emergency response.
One accomplishment I am especially proud of is the discreet GBV emergency system, which provides victims with a safer and less visible way to seek help during dangerous situations.
I am are also proud of:
- Building a functional real-time emergency coordination platform
- Successfully integrating live location and alerts
- Creating a mobile-friendly emergency workflow
- Designing an intuitive and polished user experience
- Combining social impact with modern technology and AI
What I learned
Through building SaveYah, I learned that technology alone is not enough to solve emergency response problems. The design must also consider human behavior, fear, urgency, accessibility, and trust.
I also learned the importance of designing with empathy, especially when building solutions for vulnerable users such as GBV victims.
From a technical perspective, I gained experience working with:
- Real-time systems
- Geolocation services
- Emergency communication flows
- AI-assisted categorization
- Mobile-first interface design
- System scalability and architecture planning
What's next for SaveYah
The next step for SaveYah is expanding the platform beyond a hackathon prototype into a scalable emergency coordination system.
Future plans include:
- Integration with hospitals and emergency responders
- SMS fallback for low-connectivity areas
- Offline emergency reporting
- AI-based emergency risk prediction
- Volunteer responder networks
- Multi-language support
- Partnerships with NGOs and community safety organizations
Our long-term vision is to make emergency response faster, safer, and more accessible for communities across Kenya and beyond.
Built With
- axios
- gemini
- leaflet.js
- lucidereact
- postgresql
- react
- realtime
- recharts
- shadcn
- sonner
- supabase
- tailwindcss
- twilio
- typescript
- vite
Log in or sign up for Devpost to join the conversation.