Inspiration
Have you seen the news lately? It's no surprise that TTC subway stations have always had their fair share of sketchy happenings and sketchier people, but boy has it somehow gotten worse in the last few months. Between the fatal High Park stabbing and the murder of a homeless man by a group of teenage girls - which both happened at bustling subway stations - it's been a really scary time to exist in Toronto lately.
The TTC has its own system of alerting passengers of delays and the ever-present "security incident", but these never arrive at the time the incident is actually happening. By the time the alerts are posted (and all the news articles come out), it's been hours since it occurred, and unless you were unfortunate enough to be present at the scene it serves little else other than inform us that something bad happened that day. However, Twitter as a source of breaking news works somewhat well due to the nature of social media and the brevity of the tweet format, and we've all found out about breaking news while absently scrolling Twitter - what if we could harness the power of people just talking about something they witnessed on social media and use it to warn other people to avoid the area in order to stay safe while out and about?
The idea also came about because a team member is extremely fond of just getting on the subway and getting off at a random stop to wander around aimlessly as a nice leisure activity - the fear of getting harassed in broad daylight has dulled that fondness slightly, especially with recent events, but we felt it was a shame that this same fear might be keeping other people - especially those new to the city - from exploring what it is that makes Toronto such a great place to live. We thus wanted this app to be something that hopefully could help people feel more comfortable with exploring the city they call home without having to worry too much about running into situations that might put them at risk.
What it does
TTC Alerts (But, Like, Better) scrapes Twitter for recent tweets when the app is accessed and pulls the relevant tweets to the app feed. Whenever someone tweets about an incident on the TTC, or around a subway, or on anything regarding safety concerns happening immediately, the app pulls these tweets and categorizes them based on what the safety issue is, letting the user know which subway stations or areas to avoid as soon as the information goes out.
How we built it
We built the mockup in Figma and the backend code in Python on Colab. We used the co:here Classify API to train a model that could identify tweets based on content and pull only recent and relevant tweets (only those that talked about an incident happening on the TTC, or related) in order for us to clean up and prepare the tweets for processing and sending to the app through Python.
Challenges we ran into
Nobody on our team had worked with JavaScript before, and 3/4 members of the team were beginner coders with little experience outside of first-year classes or self-learning (the 4th member had a little Python experience). We had to learn how to use Figma to create our mockup as well as Python for the backend - a team member had to learn from scratch in order to develop the majority of the code and work with co:here. One of our team members bravely set out on a journey to learn React.js completely from scratch for the project, but it ended up being too much to learn in such a short time in the end; we ended up using Figma to demonstrate what we visualized our app looking like, while preparing our Python backend to run our code and produce an output that would still show what our app was supposed to do even without the UI. It was a little bit disappointing that we didn't have enough time to learn how to integrate our frontend and backend effectively, but we did our best (and also slept a decent amount!)
Accomplishments that we're proud of
We put together a cool idea and got the code running! It was a lot of work especially as it was a first hackathon for most of the team, and we're all beginners at code still, but we managed to learn a lot of things while trying to figure out how to make our code functional. Most of the resources we used to build our project were things we needed to teach ourselves (most of them from scratch) so we did a lot of learning for sure!
What we learned
- how to use Figma, co:here, the Twint API, Python, react.js
- how to roll back on expectations but still give it our best efforts when the original idea doesn't pan out (and certainly not for lack of trying!)
- the importance of a good night's sleep
- that you can try as hard as you can, but learning something new from the ground up takes way more time than you might expect (and that's perfectly okay)
- that the TTC is really scary when you find out about every single security incident that's happened in the last couple months, jeez
What's next for ttc alerts but, like, better
We'd really like to actually integrate our frontend and backend to create a seamless and standalone functioning app, as this was our intent from the get-go!

Log in or sign up for Devpost to join the conversation.