Inspiration
I came up with this idea after the insane rise of insecurity in Nigeria this year. I found myself thinking about what could actually help if things kept escalating, some way for people to know whether an area is safe "before" they walk into it, not after something happens to them. Commuters currently rely on rumours, WhatsApp forwards, or plain guesswork to decide whether a route is safe. StaySafe is my attempt at replacing that guesswork with real, community-sourced signal.
What it does
//"This is a working prototype of a larger vision for StaySafe." StaySafe is a community-powered safety map for public transport commuters, built around Nsukka, Enugu (as its base case). It lets you:
- Check before you go: search or tap any location and instantly see a verdict: 🟢 Safe, 🟠 Caution, or 🔴 High Risk, based on nearby reports
- Report a danger zone: drop a pin, set a severity level, and add a short note
- Verify reports: confirm a report you recognize as accurate; reports with enough verifications are marked trusted and weighted more heavily in the safety verdict
- See live stats: total reports and medium/high-risk counts, with clickable detail views showing exactly what's behind each number
If an area has no reports yet, StaySafe says so honestly ,"No data yet for this area", instead of falsely defaulting to "Safe."
How we built it
Built with React and TypeScript, using Leaflet and OpenStreetMap for the interactive map, prototyped and iterated using AI coding assistants (Google AI Studio), and deployed with Vercel, with no backend or database.
Challenges we ran into
Getting the "safety verdict" logic right was the hardest part, an early version defaulted to "Safe" for areas with zero reports, which is actively misleading for a safety app, so I had to explicitly handle the no-data case. I also ran into UI layering bugs where detail panels rendered behind the map instead of on top of it, and had to fix z-index stacking so every popup and modal displays cleanly. Also, I haven't added a feature that ensures verification isn't false by asking users to provide kyc and doing a rating system to assist, as it is still a prototype.
Accomplishments that we're proud of
A working end-to-end flow: search → verdict → report → verify, all backed by consistent, non-hardcoded data ,every count on the page pulls from the same source of truth, so the numbers never contradict each other.
What we learned
I learnt that a lot of details are essential when creating websites for consumer's safety. It made me want to learn more about the legal and ethical responsibilities involved in building safety-critical software, also what happens when the information you provide is wrong.
What's next for StaySafe
- Expanding coverage beyond Nsukka to other Nigerian cities
- Offline support for low-connectivity areas
- A larger, real (non-demo) base of community reports
Built With
- aistudio
- github
- leaflet.js
- openstreetmap
- react
- typescript
- vercel
- vite
- vscode
Log in or sign up for Devpost to join the conversation.