Why did you make Neighborhood News?

We've always felt a little disconnected from our local community, not socially, but in a data sense. It's easy to pull up the news and keep tabs on what's happening across the world, but when it comes to your own neighborhood? Construction updates, community complaints, city projects, it all feels scattered and hard to follow.

That's why we built Neighborhood News!

What is it?

Neighborhood News is a spatial intelligence platform that maps city events (road closures, construction, community alerts) onto an interactive neighborhood grid. All you have to do is click on your neighborhood or type in your address, and instantly, you'll see every city project, event, and road closure affecting your street. Behind the scenes, we've built robust spatial database logic to bridge the gap between City Hall's data and what actually matters to you as a resident. We moved all the complexity into the backend so the experience up front stays simple. Neighborhood News is the easiest way for people to finally know exactly what's happening where they live.

How we built it

We begun with a database. We knew we would need a unified place to store all of the city events, and all teams would need to be able to access these events. We brainstormed on how we would store our events, and the data we would start with. We delegated this task to Hugo, and he dealt with queries, connections to the frontend, and any DBMS logic that calculated things from our events From this we decided on our tech stack for the backend. Using tech we had used before but pushed us was the goal. We went with FastAPI and Python for the backend, doing an extract, transform, load (ETL) pipeline that runs daily to update our database. For our frontend, JJ decided to handle the task and created a gorgeous dashboard. What good is data without somewhere to show it? He went with NextJS, and Typescript for the frontend frameworks.

Challenges we ran into

We faced several changes throughout our hackathon. The biggest issue was designing our events database, as we had so many different data fields, and trying to build a summarized table for all these different data fields was difficult. Then dealing with upserts, where we need to make sure not to re-insert the same events, but update the data, and choosing a unique key to deal with that issue took some thought.

Accomplishments that we're proud of

A fully working ETL pipeline that ingests, transforms, and loads data daily. Our frontend dashboard that allows for easy accessing and good visualization of community events. We are really proud of the map sidebar that provides a great way to see where these issues are happening.

What we learned

We all learned a lot. Several of us are taking CMPT354 currently, so lot's of database design and SQL logic was applied in building our database design. We have all worked together before, but this was our first project where it felt like we really came together as a team and where able to collaborate on different parts of the project with out headbutting each other. This came through really defining our team member roles earlier in our project cycle.

What's next for Neighborhood News

More cities and more data! We have built this system to scale nicely, and we can easily add new neighborhoods to our database and new data ingesting pipelines. For Vancouver we are currently looking at 4 datasets, so expanding that, and adding other cities such as Surrey and Burnaby. In terms of data, updating the schema for events to include more fields, such as status, or description. Incorporating LLM's to create a summary from complex city meeting notes could be awesome.

Built With

Share this project:

Updates