Live Demo: senwatch.us
Senwatch is a full stack application which allows users to click on states on an Interactive map of the United States to see information about the state's senators, including basic contact information, campaign finance information, twitter feed, deleted tweets, and latest votes.
Users can click on a state to see detailed information about that state's senators. Information is laid out across two banners underneath the map, junior senator on the left and senior senator on the right.
Under the senator's picture and basic contact and biographical information, users can select between several different tabs for content including visualizations for top donors by industry, twitter feed, deleted tweets and latest votes.
Senwatch is built using a NodeJS backend with expressJS and mongoDB serving the API and storing data about senators. Frontend technologies used include jQuery and D3js, with plans to refactor to a full React/Redux app in the near future.
Senwatch leverages the following API's for data about senators:
- Propublica API for contact information, personal information and votes
- OpenSecrets API for campaign finance information
- Politwoops API, a Propublica project archiving deleted tweets of politicians
- Twitter API for senator's latest tweets
- Wikipedia API for senator image URL's
Thanks to Brian Wu for advice and suggestions while building the backend. Many thanks to Derek Willis of Propublica for all his support throughout this project.
- Add dashboard with changelog to backend mongo updater
- Add spinners for async callbacks
- Refactor deleted tweets to eliminate async bugs
- Add click events with modal visualizations for all data on banners
- Add alternative data Sources
- Refactor into React/Redux to avoid Frontend async issues and reduce data usage