Inspiration
In a world currently stressed with recent conflicts, locally and globally, we were deeply concerned about the safety of civilians. We wanted to create an application that urgently notifies civilians of danger around the area, through the civilians' own devices. Without the need from central agencies, civilians are able to protect each other through the use of our project.
What it does
Surviv is an iOS map app for crisis situations: drop hazard pins on a live map, see broadcasted alerts from nearby phones over offline mesh (Bluetooth/local network), flag danger from microphone audio with on-device AI, and download map areas for use when the internet drops.
How we built it
We used Swift and SwiftUI for the app, Apple’s MultipeerConnectivity for peer-to-peer sync, SwiftData for local pins, MapKit for the map, and a small PyTorch → Core ML pipeline so a trained sound model runs on the phone to flag potential danger spots.
Challenges we ran into
The biggest challenge we ran into was developing robustness for the ML (CNN) model. It was extremely difficult getting the model to differentiate between regular communication and actual danger events like gunshots and shelling. It required training numerous times with final accuracy around 81% and final recall of about 85%. However, analyzing the confusion matrix, we noticed most errors came from having false positives, which is good in the situation of our model. Having false positives (representing false moments as dangers) is much better than missing any danger points (false negatives), so that was good to see.
Accomplishments that we're proud of
We were extremely proud of prioritizing a clean UI while not sacrificing efficiency and effectiveness in our project. Since not many of us were well versed in Swift, we felt that we did extremely well in learning the language and creating a great app without that necessary experience. Overall, we were proud that we made something accessible for all users which empowered them to help/protect each other. Especially in the political climate today, we believe this is very necessary and especially empowering to neighborhoods, societies, and even cities today.
What we learned
The biggest thing that we've learned was coding in Swift. Most of us had little to no experience in coding IOS apps, and this was a big chance for us to learn while also make something incredibly impactful. Another thing that all of us learned was the fundamentals of P2P connections and how to create low-latency, far-reaching connections using Apple's suite of libraries. It was super fun learning these concepts and we thought we gained a lot from that experience.
What's next for Surviv
We'd want to expand to a larger database to be able to accommodate for more than just UVA. To do this, we can split certain neighborhoods/cities into sub-areas where local citizens can access the danger zones and safe zones of their respective areas. This allows for scalability in growing to the global audience, and eventually as bluetooth/wifi/LAN connections improve, this will become essential in high-risk areas.

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