After learning about the faulty criminal justice system, we took to the app store to see what apps are available to those coming out of incarceration. There were none, until now. We found inspiration in seeking to educate people about the critically important issues occurring in our nation as we believe education and knowledge is power, and technology is the perfect platform to empower others and spark change.
What it does
Aurora is a multifaceted program that connects individuals in need of legal aid and guidance with those who share the tools and generosity to assist them. The primary interface of the app, designed for those in need of aid, allows for a user to create an account with simply their name, email, and a password. Once signed into the application, the user can connect with pro-bono organizations via a map and home page full of educational tools. Next, the user can post their case for assistance by filling in a small form, which allows them to publicly, yet securely, ask for help. These calls for help are sent to the devices of our secondary users, who are able to select cases, document these selections, and communicate guidance and plans to their respective clients. Assisting those who need their help the most, Aurora also has the ability to identify and reach out to local government officials to incite change. Only requiring users to enter an address, Aurora is able to scope out influential legislators and connect them to their constituents and vice versa without the typical obstacles.
How I built it
Working collectively as a team, we each took different aspects of Aurora to tackle in our window of time. We used Apple’s MapKit, Firebase’s Auth & Realtime Database, Google’s Civic Information API, and Cocoapods including Alamofire, and SwiftyJSON. Utilizing Google Cloud services, open data systems, and various challenging software features, Aurora is quite complex with over twenty Swift files, hundreds of lines of code, and dozens of intricate functions to parse through data and implement it effectively.
Challenges I ran into
The first challenge we ran into was implementing the MapKit SDK. We wanted to add detailed and clickable pins to the map. Determining what type of user is logged in was hard to define. Populating an ImageView from a link to an API call was rather difficult. The TableView was simply not cooperating. While Firebase’s information was being properly received, the table view controllers refused to manifest the data, acting illogically and providing no clear error to fix. After working with mentors and other hackers, we found what we believed to be a solution. However, around 3:30 A.M., the issue worsened dramatically without having the file changed. We may have had to abandon sleep, except we believe with each new error comes a new chance for success!
Accomplishments that I'm proud of
As a team, we were all proud of the many aspects we tackled relating to the functionality of the app. We are relatively new to APIs, so working with them took up most of our time, along with the MapKit. Also, we are happy that we were able to accomplish the original goals we established, having time to explore future options and more complicated implementations. All of us stepped outside of our comfort zones this weekend as obstacles and the mystery of certain topics challenged our technical capabilities, so we are ecstatic to have a finished product that not only served as an incredible learning opportunity for us as students, yet also has the potential to serve others.
What I learned
Data surrounding injustice is VERY VERY hard to come by. If it does exist, it is outdated and not user-friendly. While APIs and open source accounts are usually found in a plethora across the internet, the lack of data available to the public surrounding politics and civil reform was astonishing. In order for people to stay educated on current events, people have to be able to find information on such events.
What's next for Aurora
Aurora in the future looks forward to implementing a few more APIs to connect constituents to their representatives. Also, we would like to alert people of any active bills in Congress relating to the issue at hand using the ProPublica Congress API. Lastly, we would like to have a messaging feature that connects people helping with the case to the people in need of help on the app.