Even at higher voter turnout rates there was only a 44% voter turnout of people ages 18-30 in 2015. With our app we hope to get young adults or millennials involved in their community and encourage civic engagement, make a difference in the world, and increase voter turnout; this will make for a healthier democracy, that later generations are sure to follow. After all, we are the future.
What does CAPConnect do?
CAPConnect stands for Civil Action Project Connect. It connects potential volunteers to existing campaigns, encouraging civic engagement among individuals of all ages, especially youth. If users wish to create their own campaign, the app connects them with resources to get started.
The app allows users to create a profile that stores their interests. An elastic search based upon their interests results in local campaigns. Users may then select a campaign to learn more information and sign up for volunteer opportunities. Other relevant information about the campaign including contact information, events, etc. is also made available to the user. If the issue they wish to advocate for does not have an existing campaign, they may create a campaign. Based upon their location, the app finds local and national representatives. Contact information for the representatives such as email address, phone number and social media is made available. Campaign creation also includes sample emails and social media posts. The organizer can also manage volunteer lists and create events for their cause.
How we built it:
We used Android Studio and the programming language Java to make the front end and user interface for our app. Python and Elasticsearch were used to store and retrieve the data. Flask was used to combine these two elements. Furthermore, Phone2Action's Legislators API is used to identify government representatives. Using Domain.com, we were able to create a website to educate and raise awareness about the importance of civic engagement. Furthermore, it helps our app reach a larger audience, promoting diversity among voters, volunteers and campaign managers.
Challenges we ran into:
We mainly ran into issues when we were connecting our front end to back end. We had elasticsearches running on our laptop in Python, however, we were facing difficulties incorporating that into Android Studio for our mobile app. Similarly, we had Phone2Action's Legislator API running on our computer but could not transfer that onto our mobile app. Although the first problem is far more complex and would require more time, we were able to resolve the second issue. We used the Phone2Action's Legislator API in Java instead to integrate it into Android Studio. As a result, users of the app may now input their location and get their local and national representatives. Contact information for these representatives is also retrieved.
Accomplishments that we're proud of:
Before HackTJ 6.0, we had not built an Android app or used Android Studio. Now, we have a mobile app that we created using Android Studio. Furthermore, we were unfamiliar to the concept of elasticsearch before this hackathon. After attending the workshop about this topic, we were able to use elasticsearch on our laptops to find campaigns relevant to the user's interests. Another accomplishment that we are proud of is that we had not used Flask before and are now able to manage web applications using Flask. During our time at HackTJ, we have learned a lot, ranging from learning how to use elasticsearches to teamwork and collaboration.
What we learned:
With knowledge of Java from having taken CS classes prior to this hackathon, we were able to apply what we learned to use Android Studio, and can now create a basic app using this Android app developer. In addition to this, we learned what a front end and a back end are, and how to create on for our app using Flask, coded in Python. Using Flask we were able to take information from the UI and using elastic search, created a profile and found campaigns. After attending a Yext workshop we learned much about elastic search, a java based search and analytics engine built on Apache Lucene. Finally, although small, we learned how to create a website using domain.com, which will undoubtedly be useful to create other websites later in life. The experiences alone taught us so much, from the friends and memories made by simple teamwork, to how to apply the simple things we learn in class to create a sophisticated, more complex application.
What's next for CAPConnect?
We want to incorporate signing up to volunteer for events that correspond to certain campaigns. This will allow high school students to earn service hours and get involved in their community. Additionally, we would like to further integrate elasticsearch for not only campaigns, but also organizations and events on the app.