We were thinking about how we could make a city more friendly for people visiting Montreal. People that don't know where to go and that might end up in places they don't want to, where the crime rates are up, the lightings and the crowdings are down. We wanted everybody to feel safe while they visit the city. This is why we decided to develop a product called Bsafe.
What it does
It essentially works like google-map. In fact, we thought it would be a great addition to the app. It takes a bunch of informations in consideration to give you the safest way to get to a destination. The app shows the user the sectors where crimes happened with red circles to give him/her a good idea on what sector they want to avoid. It also shows the places that are enlightened and has cameras for a better feeling of safety. These sectors are shown with green circles.
The app automatically gives the user the road they might want to take to be safe, but also alternatives if they don't mind about the risks. In fact, in the settings, the user can decide his/her degree of tolerance to danger and our algorithm will take that in consideration.
It is a great app that many would love to have on trips
How we built it
Since we are a team of four we decided to separate the tasks into what everybody felt the more confident in. We decided to separate the job into 3 tabs and logistics.
Firstly, there is the first tab where the user can put in the road he/she wants to take. There is also a history menu, so they can trace a certain path they liked. Many other features are showed in this part of the app.
Secondly, there is the main tab (tab2) where the map gets displayed. This shows the path, the dangerous areas, the safe areas and many other features including the user input on the path he just took (for future improvement and collecting data).
Then, we have the third tab. This is the settings tab where the user can choose his/her tolerance to risk, the dangers they can feel comfortable with or the things they want to avoid. There is also a section for theme colors. This is really like the preference page.
Finally, logistics like the overall appearance of the app, the logo, the presentation and everything that revolves around that. The person in charge of this part was also leading the team in the sense that they were looking if everything was fitting together by making a todo list and other helpful tools like that to make sure we have everything we need.
We used mostly Angular with typescript to create our app and make it responsive to any mobile device.
Challenges we ran into
We ran into a lot of challenges as we expected to. Even if we had some good bases on these programming languages, some of us didn't really work with that environment in the past, so we had to learn a lot of stuff to be able to build this app. It was also the first Hackaton for 2 of the members so we didn't have a lot of experience in those kind of events.
Since we had to classify every part of the city, we needed to have access to a lot of pre-existing data. We found most of what we needed, but we couldn't get everything, so our algorithm can't take everything that we wanted in consideration.
We also had an unexpected problem that makes a lot of sense. The databases were way too large for our small computers. In fact, it is almost impossible to process billions of data entries with this kind of equipment. For one of the data bases that we had, we couldn't even download it in our computer without it crashing for lack of memory.
Then we have the obvious, the debugging problems. Since we are not very experienced in that field, we had a lot of trouble doing it. Mostly because we didn't know very well the language we were working with, but also because debugging it is very complicated compared to other programming languages that we are used to.
Accomplishments that I'm proud of
First, we think that our idea was great! This is the kind of app that a lot of people would like to use, and it has great potential in a market where everyone like traveling. So far the app only work in Montreal, but we can expand it to work all around the world. The scope of it touches everyboy and it is great!
We are also proud of our team working. Everybody was here to help, was willing to take time off their project to help for another one. The patience of the people with more experience to show how to do a BUNCH of stuff was incredible.
We are very happy about the app itself, it works well for a prototype. This is the kind of app that takes MONTHS to develop and we did a good part of it in a single night. We put a lot of efforts in the app and we are very proud of it.
What we learned
It goes without saying that the people that didn't know the programming languages learned a whole bunch since yesterday. We also learned how to separate the tasks well, and work with each other. We learned that even thought our expectations were really high at the beginning of the competition we had to be more realistic with the implementation of the algorithm. We had to drop some part because we simply didn't have time for it. In that sense, we learned to focus on the more important things.
What's next for Bsafe
The next step for Bsafe is to get a really good implementation. To get the data that we need for it to be totally complete. We think that there is a really good idea behind the app, and who knows? Maybe we could make a pitch to Google one day (: