Running is one of the most popular and practiced sports; about 50 million Americans (or 15 percent of the U.S. population) participate in some form of running or jogging (according to a 2022 report from Statista Research Department).
However, there are safety concerns for many runners, especially women, while running alone outside. 60% of women surveyed by Runner’s World in 2021 have been harassed while running. The abduction and murder of Eliza Fletcher in particular in the fall of last year brought women’s safety into the forefront of the public discourse with respect to safety while running.
However, there are no clear solutions. Many women have developed a mixed bag of safety behaviors, such as running with a phone or a weapon, running with a friend or a group, and some have simply opted to stop running completely. These are suboptimal solutions to a clear and important problem, so our team set out to create a new solution.
User can draw out a potential running route
User can toggle between day (light) and night (dark) mode
User can see streetlight location (when in dark mode)
Safety score display
User can tap to learn more about how the safety score is calculated
User can see which roads have a sidewalk
Total distance plotted display
Our architecture comprises five essential components, including Data Sourcing, Data Processing, Model Training, API Endpoint, and Mobile Application.
The first step in our process involves importing datasets from an S3 bucket and processing them using NumPy and Pandas libraries. We achieve this by developing a Lambda function that performs this task. Once the data is processed, we train our machine learning models using clustering algorithms.
To serve our machine learning model, we package it into a Docker image and push it into AWS ECR. We then create another Lambda function that acts as our model inference endpoint. This function loads the Docker image from ECR and runs it as a container. Finally, by calling the appropriate scripts or code in the Docker image, our Lambda function runs the machine learning model. The input to the model can be passed through the Lambda function's API Gateway endpoint.
We leverage AWS Lambda and API Gateway to create a cost-effective and scalable platform for data processing and machine learning model creation. Our Lambda function can be triggered by API Gateway requests, which enables us to process data and make real-time predictions. Furthermore, because we only pay for the compute time used by our Lambda function, we can keep costs low while still providing powerful data analysis and machine learning capabilities. Explore our website to learn more about our architecture and the benefits it provides.