Inspiration
Since crime is an everlasting part of our society, it is important we add technological components to handle the whole idea of crime in a city. I am a commuter and at times during peak night, I find it difficult to assess what is the best and safest possible route for travel. I realized that there is an untapped market for crime surveillance and thats when i decided that I wanted to make something that can give a concrete report of all criminal records in Buffalo.
What it does
The execution and the idea itself is kept really simple. "holmes.com" is simply a website that give information of all past criminal records in the region. You can simple hover through markers, which point out the location of the crime, and see the type of crime that happened.
How I built it
Building "holmes.com" was a challenge because I am a freshman at UB. I used my programming experience from CSE115 and my high school programming sessions. I created the front end of my website with basic javascript and html. The back end is an absolute beast. I wanted to inculcate python and javascript to create an absolute website.
First job was data acquisition. I was able to acquire JSON criminal incidents in the last 10 years from Buffalo’s Open Data Portal (https://data.buffalony.gov/resource/d6g9-xbgu.json).
Second job was webpage setup. The main goal was displaying a map. To do that, I used the plotly library in conjunction with mapbox, from where I obtained the API key. From there it was simple function defining and I was able to display a tiny map onto my screen. I used codenvy as my IDE because it allows me to preview my website.
Third job was backend work. First job was setting up the server Background. I wrote a python web server that connects to the API, filter the data, and send the data to the javascript code upon request. I relied on bottle documentation for establishing my web server. After series of testing, the last thing I had to do was get the data from the API and return it from the “/tickets” path on the server.
And after 24 hours, I had markers on a map with criminal incidents record.
Challenges I ran into
There were a lot of unexpected variables and foul function/list/dictionary calling. For the JSON data, I spent 4 hours editing and deleting elements, but they decided to update the data right when I perfected it so I had to start all over again. It was a little complicated in the end because the project required me to tackle topics I didn't do in class. But overall, it was temporary.
Accomplishments that I'm proud of
I was able to make the best of my CSE115 course. The topic seemed intimidating and there were times where I had given up all hope. But I am proud of using everything I learned so far here at UB and make a solid, concrete project!
What I learned
I learned how to be a better programmer. The project taught me how I can minimize the risk factor and the hardwork into complex functionality and I definitely believe this will help me in my future hackathons and CSE in general. I learned how even the simplest of lists can screw you over and throw you into a headspin. But most importantly, I fell in love with programming again and again.
What's next for Holmes.com
I want to make it more interactive. I want to add make existing information more accessible on my website. Right now, my project is extremely binary and simple but it has room for development. I believe with proper dedication and knowledge, I can really grow this into something big.
Log in or sign up for Devpost to join the conversation.