Inspiration
Domestic Abuse is a severe issue that undermines the basic human rights of an individual. Lately, there have been quite a few eye-grab bing instances for the same. Due to these reasons, I felt it was appropriate to develop a solution for this problem. I also saw the Youtube Video of the famous 911-Pizza call and decided to do that, but way better.
What it does
The App allows the users to deal with all 3 phases of an event:
- Before (Preventing the incident)
- During (Dealing with the incident)
- After (Ensuring safety in the aftermath)
With the help of the Chatbot you can contact your emergency contacts without alerting the abuser by disguising your request as a Pizza Order.
After suffering such an incident, it's very likely for victims to develop some sort of PTSD. To deal with that, Chatbot searches therapists near your location and displays them accordingly.
So how does this happen? First the user logs in and gets directed to the chatbot screen. Here, I have a glossary which contains randomised keywords which are to be used to make a pizza order. This can be done via Audio/Text input. Then the user accesses the Cart where it can be confirmed if the Order is as it should be, and then the User can send the SMS to all emergency contacts.
The App also has a Helpline feature where you can call a certain number and your side of the call can be stored as evidence. It also transcribes the call contents and sends that to authorities and User's emergency contacts via SMS.
How I built it
I made the App using Flutter. I used Firebase for Authentication and Firestore as the NoSQL database. I made the chatbot using Dialogflow. I used Twilio Voice API to implement the programmable phone calls and the SMS API for sending the text messages. I used Node.js-express.js combo to handle the webhook calls made by Dialogflow and Twilio. I used Agora RTC SDK for Flutter to implement the video-calling functionality.
Challenges I ran into
This was the first time I was using Twilio's voice API and it gave some weird sound-looping behaviour initially preventing us from sending transcripts of recordings, though I somehow managed in the end. I was getting lots of blank responses for the chatbot webhook calls, which as you can see, is the main component of the app and thus was under a lot of pressure to fix it. The VideoCall gave whitescreen while developing, i resolved it in the end thanks to @MarcusNG's tutorial.
Accomplishments that I am proud of
I are especially proud to have made a product that will affect thousands and thousands of people. The use of twilio voice API in this project is something special and can be enhanced further. I successfully implemented "Entities" in dialogflow which made the User experience personalised.
Use Cases:
- To prevent Domestic Abuse
- To prevent and deal with elder abuse.
- To protect tourists from harm.
What's next for Code:Aegis
- SMS messages can be ignored, a better option would be to use WhatsApp messages instead.
- A provision for witnesses of Domestic Abuse to report it along with evidence.
- Broadening the scope of keywords to prevent ab$sers from catching on.
Applicable Side-tracks/ Sponsor Tracks:
Best use of Google Cloud: Used Dialogflow for making Chatbot, Used Places API for searching nearby therapists.
Most Creative Use of Twilio: Used SMS API to inform emergency contacts, and Voice API for Helpline Feature.
Best Social Good and Best Female Empowerment: Due to the nature and working of the App.
Built With
- agora
- firebase
- flutter
- google-cloud
- ngrok
- node.js
- twilio



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