We want to improve safety in LA, and a first step is making residents and tourists alike aware of their risk of becoming a victim of crime in LA's various districts.
What it does
Our website uses deep learning to predict the probability of being a victim of different types of crime based on the user's location, the time of year and day, and other user-related factors. If the risk of being a victim of crime is significantly high, the user will be notified, via SMS. The website provides a sleek, user-friendly interface with a secure backend.
How we built it
Crime data were collected from the crime dataset available through data.lacity.org. The data were used to train a fully-connected neural network with Keras on the cloud. Then, the trained model was deployed to Google Cloud ML Engine. Additionally, a Flask server was created on AppEngine to serve model predictions. The website was developed using HTML, CSS, JS, and Bootstrap, as well as Node and Express. It makes use of Twilio for SMS and the Google Maps API.
Challenges we ran into
Connecting frontend and backend after developing independently with different tech stacks. Deploying TensorFlow model on Cloud ML Engine. Integrating two backends: Node and Flask for deep learning model predictions.
Accomplishments that we're proud of
That we successfully integrated the two backends with our frontend.
What we learned
Full-stack development basics. Quirks of HTTP requests. How to deploy a TensorFlow model and Flask server on Cloud ML Engine and AppEngine, respectively.
What's next for LACrime
Active risk assessments. More accurate deep learning model (with more crime data). More interactive UI.