The FEC regularly publishes detailed information about donations to all political candidates in ongoing races, including the postal codes of donors and the dates that donations come from. We decided to use this to visualize donations to Democratic presidential campaigns since Oct 1, 2018.

We also want Nate Silver to pay attention to us.

What it does

A tool to view contributions to 2020 presidential election campaigns.

How we built it

We performed data processing using Python on a Google Cloud server. We built the backend of using MongoDB, Express, and NodeJS. We built our frontend using jQuery, Leaflet.JS, HTML and CSS.

Challenges we ran into

Server space, bandwidth, memory, zip code nuances with latitude and longitude, dates, poorly-formatted third party data, rendering, using Google Maps API for the first time

Accomplishments that we're proud of

Learning and executing the Leaflet.js library after initially starting with Google Maps, learning MongoDB & Google Cloud API.

What we learned

The Google Maps API contains some powerful assets, but there are plenty of libraries out there such as D3.js,, and Leaflet.js which can provide incredible visuals while remaining performant. We also learned how to "speed up" large database queries by caching results.

What's next for

We want to implement support for additional presidential candidates, an extra feature to display House and Senate races, PACs, and possibly integration from Act Blue. We will need to pre-process the raw contribution information from provided by the FEC. We can also include Republican Presidential race fundraising.

We are interested in adding additional information to the plot: getting fundraising data from earlier dates, extrapolating on our data to project future fundraising, and adding a more-granular slider.

Share this project: