Inspiration
The idea for this app came from a moment of reflection on how safety impacts our sense of community and learning. In fact, 82% of American college students worry about their personal safety on campus. Every student, faculty member, and visitor deserves to feel secure on campus. Unfortunately, incidents often go unreported or unnoticed until it's too late. This app bridges the gap. With an easy-to-use interface, you can view a real-time map of the campus and upload reports of suspicious activities or incidents. Your input instantly alerts others in the community, helping them avoid potential risks and increasing overall campus awareness.
What it does
SafeHer is a mobile app that allows users to report safety incidents in real time, offering immediate feedback and alerts to nearby users or responders. It helps individuals stay connected and safe, especially in high-risk situations.
How we built it
Frontend (React Native with Expo)
- React Native: We used React Native to build a cross-platform app that functions on both iOS and Android devices.
- Expo: Expo simplified the development process, providing tools to streamline testing and deployment for rapid iteration.
Backend (Go)
- Go (Golang): We chose Go for its performance and scalability, making it ideal for handling incident reports with low latency and high efficiency.
- RESTful API: The backend communicates with the frontend using RESTful APIs to send and retrieve data, ensuring a smooth and responsive experience.
Database (MySQL & Firebase)
- MySQL: We used MySQL to store user data, incident reports, and location information about campuses and neighborhoods.
- Firebase: Firebase helped us manage real-time notifications and updates, crucial for keeping users informed instantly.
Network Communication (Ngrok)
- Ngrok: To test the app with external users during development, we used Ngrok to expose our local server to the internet. This made it easy to share the app with testers and troubleshoot remotely.
Challenges We Ran Into
1. Real-Time Updates
- Problem: Ensuring that incident reports and updates were reflected instantly for all users, especially as new data came in.
- Solution: Firebase Firestore was utilized to handle real-time synchronization of incident data, ensuring that users see up-to-date information immediately after it's reported.
2. Local Testing with Ngrok
- Problem: While developing locally, we needed to share the app with external testers without deploying it to a live server.
- Solution: Ngrok allowed us to expose the local development server to the internet, enabling testers to access the app in real time and provide feedback during development.
Accomplishments We’re Proud Of
- Developed a fully functional mobile app that enables real-time incident reporting.
- Integrated Firebase for real-time data synchronization, ensuring users receive updates immediately.
- Successfully used Go to build a backend that can handle a large volume of data efficiently.
What We Learned
- Real-time data synchronization is challenging but crucial for apps with live updates.
- Leveraging tools like Ngrok can drastically improve testing workflows when collaborating with external testers.
- Integrating multiple technologies, from frontend to backend, is crucial for building a cohesive and functional application.
What’s Next for SafeHer
Scalability: Extend to Other Campuses
- Expanding the app to support campuses across the country, enabling users to report incidents and stay informed in a wider variety of locations.
Facial Recognition Technology
- Implementing facial recognition technology to help verify incident reports and provide additional security measures.
Incident Validity
- Introducing features to verify the validity of reported incidents using AI and community feedback, ensuring accurate data and preventing misuse.
Log in or sign up for Devpost to join the conversation.