Inspiration

Every woman I know has faced some kind of scary or difficult situation.
Hearing their stories opened my eyes to how vulnerable people can be and how important quick help is in emergencies.

I wanted to create a small but meaningful support system — something that can make a difference when it matters most.
I also wanted to include hidden features because I know how hard it can be to unlock a phone and send an SOS in a scary moment.

This project is my way of doing my part to make the world safer for women.

What it does

  • SOS Alerts: Quickly sends emergency alerts with location data to a centralized account.
  • Hidden SOS Trigger: A discreet calculator that sends an SOS when the number "100" is entered and an error message appears, allowing help to be called without drawing attention.
  • Interactive Safety Map: Uses Leaflet.js to display nearby safety shelters, police stations, and other secure locations sourced from OpenStreetMap data.
  • Information & Statistics: Provides users with important safety information and statistics to raise awareness.
  • User-Friendly Design: Simple navigation with a homepage linking to other pages, designed for quick access during emergencies.

Together, these features create a compact, accessible tool to help women call for help faster and safer.

How I built it

First, I created different files for each feature to keep the project organized and manageable.

Then, I researched and designed a basic homepage that shows important statistics, safety information, and a button to access other pages of the app.

For the SOS feature, I explored several methods to send alerts reliably. I decided to use Leaflet.js to build an interactive map, and I sourced location data using Overpass Turbo for accurate safety shelters and police stations.

To handle the backend, I switched formats and used a simple Node.js setup to serve the map and manage requests smoothly.

Initially, I tried using EmailJS for sending SOS alerts, but ran into reliability problems. Next, I experimented with Webhook POST requests, which gave me some issues as well. Finally, I settled on using simple Google forms connected to the SOS to properly show results and reliably send alerts.

One of the last-minute ideas I added was a hidden SOS calculator. It’s a basic calculator UI where, if the user clicks “100,” an error message is shown and an SOS alert is automatically sent. I think this discreet trigger could be very helpful in real-life emergencies where opening the app or phone isn’t possible.

This layered approach of building and refining helped me create a practical, user-friendly safety app.

Challenges I ran into

This project wasn’t easy and came with many obstacles:

  • EmailJS caused unexpected errors and delays, so I had to find alternative methods
  • Web POST requests initially didn’t work as expected due to CORS and server issues
  • Learning Leaflet.js and mapping real locations took significant time and effort
  • Figuring out how to make SOS triggers hidden yet reliable was tricky
  • Handling the fact that all SOS messages go to one account, which is not ideal for real-world use

Despite these, I kept pushing forward, learning from each problem and improving the system step by step.

Accomplishments that I'm proud of

Proper Research and assurance that it's a viable instrument in real-time settings

What I learnt

Throughout this journey, I learned many new things:

  • Different ways to build an SOS alert system
  • How to work with Leaflet.js to create interactive maps
  • How to send form data reliably using web POST requests
  • How to troubleshoot problems with EmailJS and other services
  • The importance of simplicity and speed when building safety features

This process challenged me to learn coding, debugging, and connecting APIs in real-world scenarios.

What's next for SafeCircle

Development of more features and hosting the actual website along with an app so it can actually be used by women all around

Share this project:

Updates

Submission history