Inspiration
We really liked the idea of a product that would positively affect society and the idea of anti-harassment really appealed to us. We discussed the various kinds of stigma faced by people and eventually settled for working on issues faced by people with physical disabilities.
What it does
Superhero focuses on people who need physical assistance in public spaces for emergency purposes. For example, this is meant to benefit a person in a wheelchair entering a public building that is inaccessible to them, or someone or on crutches who cannot get up the stairs. Our website allows people in need to send out an emergency alert for help. Volunteers (otherwise known as "superheroes") will have already made a profile in which they set the location that they will be able to help. If the website's clients and volunteers are both within a 5-mile radius, the website sends a text message to the volunteers with the distance between the two, the client, and the client's specific needs, as filled out by the client before sending out the alert. The process then had a second component which we were unable to implement, because the API required a paid account. The volunteer would have the ability to reply to the text message, which would be sent back to the server. The server would then send the seeker's profile and location back to the volunteer.
How we built it
The back-end code relies largely on Python flask (a web microframework for building web applications with Python). The back-end of the program was written in Python. We imported two APIs: Geopy and Twilio. Flask's microframework was used to host our web application. We used Geopy to find the coordinates of the user when they inputted their location. The coordinates were plugged into a Haversine function. The Haversine Formula is an algorithm that takes two sets of coordinates and returns the distance between them in miles. What is important about this specific formula is that it accounts for the curvature of the earth. Whoever was less than five miles away from the user was sent a text message through Twilio. Twilio sent the following information: Distance between client and user, description of the issue, and any extra comments. The front end uses HTML and CSS.
Challenges we ran into
The members of our group came into this weekend with very limited programming knowledge. Besides developing a great idea, we ran into trouble when figuring out which languages to implement where. We tried to implement the back-end code using Django, however, we decided to use Flask after many failed attempts. We also faced problems while trying to integrate different APIs (including googlemaps). Running the back-end and front-end together was a challenge that seemed incredibly difficult, but was easily accomplished.
Accomplishments that we're proud of
All of the members of our team are freshmen who have never programmed at a hackathon before. We were also severely lacking in experience compared to a lot of the other hackers. Although much of the night was spent watching and reading tutorials as well as asking many people for help, we were able to do so much of the project by ourselves. We are all leaving here with a lot more programming experience than we walked in with.
What we learned
We have all become much more familiar with what seemed like foreign languages, softwares, and resources a mere 24 hours ago. All of us had concrete knowledge of Python, and those skills were built upon as time passed. We explored a variety of features including Terminal, Python frameworks (Django and Flask), HTML and CSS, APIs, and github. Obviously, these feats were not accomplished alone; we learned a lot of the basics from fellow hackers, from online tutorials, and within our team. Each of us fulfilled crucial tasks in the making of our project.
What's next for Superhero
We have a lot planned for the future of Superhero. The next step would be completing the process of allowing the client to respond via text message to the user. Hopefully, we would be able to create a program that could inform the user whether or not any client is coming. This may prove difficult, as you need to pay to use Twilio's more advanced features. ## We would also like to turn Superhero into an app so that it is more accessible while the aid seekers and volunteers are mobile. Although we are currently unsure of how well it would work out, we would like to see Superhero expand to different kinds of help, not simply aid for people with disabilities.
Log in or sign up for Devpost to join the conversation.