Inspiration
The inspiration behind Adiona stems from a growing concern for personal safety, especially for underrepresented genders, who often face unique challenges when traveling. As an all-female team, we have all had the experience of feeling fearful when transiting at night having to spend long wait times in sketchy areas. Through these experiences, our team recognized the importance of combining technology with real-world data to offer a solution that not only helps people navigate safely, but also empowers individuals to feel more confident and secure while traveling.
What it does
Adiona is an app that analyzes crime data to help users identify the safest routes when traveling from point A to point B. It pulls data from local police departments and integrates it with mapping technology to generate safe, optimized routes that avoid high-crime areas. These routes are scored based on crime incidences in the area and are presented to help users make better decisions about where to travel.
How we built it
- React Native: The app is built with React Native
- Node.js: We used Node.js for the backend, processing crime data serving the safest routes.
- Transitland API, Leaflet and Mapbox: These mapping tools help us visualize routes and provide users with a detailed and interactive map.
- Crime Data API: We integrated crime data from local police department APIs, ensuring the app remains up-to-date with relevant safety information.
Challenges we ran into
Data Accuracy and Integration: Integrating reliable crime data from police departments was challenging due to varying data formats and occasional gaps in the data. Ensuring that the data was accurate and current required constant monitoring and refinement.
Balancing Safety and Practicality: The algorithm that calculates the safest route had to strike a balance between safety and convenience. We wanted to avoid overly cautious routes that would take users too far out of their way, which could detract from the usability of the app.
Map and Route Optimization: Integrating and optimizing routes based on crime data required careful work with many different APIs. Researching and learning how to integrate all these API's was the hardest part.
Accomplishments that we're proud of
- We believe that Adiona is making a meaningful difference in helping individuals—especially underrepresented genders—feel more secure while traveling.
- We learned a lot of different new tools and skills. From API integration to frontend work, we all were able to try new things.
What we learned
Overcoming Data Hurdles: One of the biggest challenges we encountered was working with data sources. Initially, we planned to use the TransLink API and Vancouver crime data from the Vancouver Police Department (VPD). However, the VPD data was in a
.pbformat, which we were unable to extract or work with. We also encountered difficulties when attempting to convert the crime data from CSV to JSON, which was the format we needed for our project.Pivoting and Finding Solutions: After struggling with the original data sources, we decided to pivot to a different approach. We managed to successfully open the TransLink API, but it did not contain the specific transit information we needed for the project. This led us to explore the TransitLand API, which provided more relevant data. However, the TransitLand API only supported routing for U.S.-based locations, which forced us to switch our app’s location focus to Seattle instead of Vancouver.
Routing Challenges: Once we had the correct data, we were able to implement the routing system and finalize the functionality. This experience taught us the importance of being flexible and resourceful in the face of technical challenges, as well as the need to carefully evaluate available data sources and their compatibility with our project’s requirements.
Adapting to New Tools: Throughout the process, we learned how to adapt to new tools and APIs, shifting from one solution to another when faced with roadblocks. We gained a deeper understanding of how to work with different types of data formats (such as CSV, JSON, and
.pbfiles), and how to pivot quickly to keep the project moving forward.Frontend: One of our group members was very new to coding. With the help of the other team-members she also learned how to create components and the styling process. Furthermore, she sharpened her Figma abilities and got to learn and grow by seeing the others work on the Backend!
What's next for Adiona - Safe Travels
Accessible: Although our app is styled to look like a mobile app, it currently does not operate as one. We would like to make it mobile in the future. That way people can have their travel protector wherever they go! Furthermore, we currently work with a coordinate system, which is not intuitive or "on the go". With more time we would be able to make the search for different locations easier.
Other Locations: With more time, we plan to figure out a way to leverage data from other places in the world, starting with Vancouver!
Expand Data Sources: We would love to integrate additional sources of crime data, including community-driven inputs, social media reports, and neighborhood-level feedback to offer more comprehensive route recommendations.
Real-Time Alerts: In the future, we want to add features like push notifications that alert users about recent incidents or safety concerns along their route, offering real-time situational awareness. We aim to include a feature that allows users to contribute real-time safety reports (e.g., incidents, unsafe areas) to help others make better decisions (similar to the way WAZE creates its alerts).
AI-Powered Safety Recommendations: We’re exploring the use of machine learning and AI to predict crime trends and provide personalized route recommendations based on a user’s history, preferences, and travel patterns.
Safety tips and SOS: Finally, we would like to include a section of the app dedicated to safety tips/ what to do in hypothetical situations where one feels unsafe. Additionally, similar to the way Life360 works, we would like to include an SOS button which notifies the authorities or a close contact (determined by the user) when the user feels especially unsafe.
Built With
- axios-version-control-&-others:-git
- express.js
- figma
- javascript
- node.js
- react
- sass-frameworks-&-libraries:-reactjs
- scss
Log in or sign up for Devpost to join the conversation.