Inspiration

Two days before Hack404, we found out there will be no overnight stay at the venue! This raised some concerns about surviving while stuck in a big city like Toronto late at night.

  • The Toronto Police Service investigates around 4,300 missing person cases annually.
  • In Canada, over 50,000 children are reported missing to police each year.

We wanted a way to keep our community safe in the event of having to stay overnight in Toronto. So we built 404cast - a tool that helps raise awareness about safety in Toronto through interactive learning, real data, and gamified challenges.

What it does

404cast generates street views of Toronto neighbourhoods and prompts the user to guess the likelihood of them getting kidnapped in that location. The closer the user is to the correct probability (generated based on ML predictions trained on official Toronto Police Service data) the higher their score.

How we built it

We used MongoDB, Express.js, React/Vite and Node for the project. The panorama street view is provided by Google Maps JavaScript API, and we enabled Progressive Web App functionality using Vite PWA.

Challenges we ran into

One of the challenges we faced was the 429 "Too Many Requests" error from Google Maps's rate-limited API. With multiple teammates working and refreshing simultaneously, we quickly hit rate limits, which temporarily slowed development.

Accomplishments that we're proud of

404cast offers users an interactive, gamified experience to learn about safe navigation in urban environments. One feature we’re especially proud of is the competitive leaderboard — users who correctly recognize high-risk neighbourhoods earn points and see their rankings rise. We’re especially proud of the app’s mobile-friendly design, making it interactive and intuitive whether you're on a phone or desktop.

What we learned

Throughout the project, we learned how to work with Google Maps API services, especially the Street View API, and explored its various features like retrieving panorama metadata(coordinates, address and even the time and date the panorama was taken!) and customizing the viewer. This opened our eyes to how powerful map-based interactivity can be for user engagement.

What's next for 404cast

Next step for 404cast is making it even more educational: we could add AI that summarizes the data and explains why the location shown is dangerous and why it should be avoided. Another fun feature we could implement is levels, where users progress through challenges with limited information about the neighbourhood or are shown less descriptive Street View scenes.

Share this project:

Updates