Inspiration
The mass shootings in Monterey Park and Half Moon Bay, CA that occurred shortly before the start of the hackathon.
What it does
It collects data on incidents of gun violence from the last 72 hours from the Gun Violence Archive and maps it using the Google Maps API. It also uses the Google Civic Information API to collect data on the elected officials related to each location by querying the API's representativeInfoByAddress method. It also provides a platform for users to write to their representatives with their ideas and concerns on the issue and provides a letters feed for people to share their letters.
How we built it
I used React with Redux-toolkit for state management and Material UI for the styling and components. The app is structured using the 'feature folder' approach with a 'duck' file for each slice of state (incidents, representatives, letters, and users) . I used RTK's createEntityAdaptor to normalize the data inside each slice and provide convenient native selector functions. I used redux-thunk to handle the asynchronous function calls following a standard async fetching pattern with states for loading, success and failure. Due to back end team issues it is currently only a front end app that uses data modeled after the above APIs created from Mockeroo.
It is currently deployed to Github pages
Challenges we ran into
The teammate who was responsible for scraping the data from the Gun Violence Archive unfortunately got into an accident, suffered a concussion and had to sit it out. The teammate who was responsible for building the back end API got bogged down with schoolwork and interviews and did not get to pushing his code to Github.
Accomplishments that we're proud of
I'm proud of the idea. coming up with a creative way to combine data from these different sources that is engaging to users. It both increases awareness of the issue of gun violence, removes barriers to citizen engagement and provides lawmakers with feedback from their constituents. All of which help to strengthen our democracy. I'm proud of my coding skills and the ability to turn this idea into a functioning app. I'm proud of my ability to work under pressure
What we learned
Material UI - This was my first project with it.
What's next for GunSense
Not everyone is an effective writer, and writing takes time. I'd like to incorporate an AI assistant like ChatGTP to help people refine their thoughts and ideas about the topic in a way that is fitting for contacting their elected officials.
Built With
- google-civic-information
- google-maps
- gun-violence-archive
- react
- redux

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