I was born in Washington DC, and I've always been frustrated with the how inaccessible politics has been for regular people. This breeds frustration with the system, something that we at UC Berkeley are all too aware of with recent clashes on our campus.
Inspiration for this idea also comes from our president. As a first generation Muslim American, I'm acutely aware of the impact of his rhetoric of exclusionary identity politics. I'd like to make sure that regardless of what's said, we all have a voice in our political decisions.
What it does
This mobile app allows you to view the bills that your representatives have introduced. It allows you to vote on the bill and see which way others who have the same representatives have voted.
The coolest feature: it prompts you for a message when you vote on a bill, automatically generates a formal letter with the message and addresses it to your senators, and faxes them instantly!
We also allows you to donate to the representative using a CapitalOne account.
How we built it
We built the app in React Native, entirely using Expo (no native iOS or android code). We built our backend server in Node.js, used the ProPublica API, Twilio API, Capital One API, html-pdf package.
We used the Capital One API for donations (we created a merchant id for your representative, a purchase request with a merchant, and pulled bills to your account when viewing all your donations).
We used the Twilio API + html-pdf npm package for the automatic fax.
We used the ProPublica API for the bill and representative information.
Challenges we ran into
Accomplishments that we're proud of
Daryus learned React-Native! I'm proud of actually getting this idea off the ground. I love politics, am saddened by the fact that most hackers don't really build political tech apps, and I'm glad we have something to work with in the future.
What we learned
How to prioritize features. And how to proportion caffeine intake (more = better).
What's next for Politik
We have to take away the Capital One API for it to be production ready. We're going to get styling help from friends here at Cal.
Most immediate term is to create Sign-In capability, move a lot of our data formatting and api calls to our backend, and we need to solve some performance issues with the ProPublica API (perhaps preload bills into a db and then check if any new ones were added). Also we need to add more than just Senators. In addition, we need to call our 'send-fax' route only after the user has chosen to send a message to their representative, rather than whenever you vote on a bill.