Inspiration

As someone who's very passionate about the environment, I've always wished that our countries leaders would enact policies such as energy taxes that would discourage unsustainable practices. Eventually I realized that throughout my life, nearly everyone I've met has had some political issue that they wish they could address. So I had the idea of allowing creation a mobile application that gives users the platform they need to engage with the lawmaking process.

What it does

Catalyst starts off by allowing users to enter in their zip code in order to know which local lawmakers and congressman to keep in consideration. After this, Catalyst allows the user to create a profile, which in addition to providing information about you, also allows you to see which posts you've made and which one's you've shared. Furthermore, your profile also utilities a machine learning model I developed in Tensor model in order to gauge your political standing based on your activity within the application, such as which posts you've liked and which ones you've shared. You can see this by clicking on the "View political Analytics" button, which will display a very descriptive pdf file with a prediction of your political standing on various issues. Afterwards, the feed that lists all of the posts has tabs in which you can organize your feed by which posts are trending, which ones are recommended to you, which ones you've shared and the posts that you've created yourself. Additionally, once you actually click on a post, you'll see that you have the option of sharing the post, liking the post, viewing the tags associated with the post, reading a brief description of the bill the user is posting and read the bill the user posts. Once you're in the process of adding all of these components to your post, you can also select which of your local congressman your post should be sent to. All of these components create an ecosystem in which users can help catalyze changes in their communities one draft of a bill at a time.

How I built it

In order to develop the frontend, I just utilized Android Studio's layout builder and all of the other UI creation tools it offers. In order to build the backend, I utilized firebase in order to store all of the information the app required such as passwords, profiles information, political leanings and so forth. In order to create the political leanings component, the application used a neural network model created in tensorflow in order to place the tags in the posts the user has liked in shared in the political spectrum. After it's determined what tags coincide with which political beliefs, it counts the amount of times you've liked and shared posts of specific political ideologies and then predicts you're placement on the political spectrum using this counter. I simply sent HTTP calls to train the Abracadabra Recommender API in order to create the recommendations tab and the trending tab simply consists of which posts received the most likes and share over the period of 24 hours.

Challenges I ran into

I struggled heavily with training the Abracadabra Recommender API to suit the purposes of Catalyst. I also struggled with creating the neural network required to sort the tags onto various parts of the political spectrum. The most difficult thing however, was creating the class that was responsible for generating the PDF that demonstrated the users political leanings.

Accomplishments that I'm proud of

I'm proud of having the recommendation rate have a accuracy rate of roughly 84% despite training a pre-existing recommendation engine API. I'm also proud of the fact that I was able to have android studio generate the PDF's with political leanings as elegantly as it did. Furthermore, I'm very proud of the sharing feature as implementing it was also very challenging.

What I learned

I learned how to use machine learning in order to place tags onto the political spectrum. I also learned how to train an external Recommendation engine API such as Abracadabra in order to suit my various needs. I also learned how to use various API's and Android studio in order generate PDF files. I also learned how to use Firebase to handle more complex types of data.

What's next for Catalyst

I plan on figuring out ways to reduce computation an cloud hosting costs for the application. I also plan on figuring out ways to heighten the accuracy of all of the ML models the application houses. After that, I plan on maybe taking the application into the market.

Share this project:

Updates