When we think about tech trailblazers, we usually think of a group of male Silicon Valley CEOs. Sadly, pioneers like Ada Lovelace, the first computer programmer, and Reshma Saujani, the creator of Girls Who Code, are hardly remembered. Our goal with whats Her Name was to change that by empowering, connecting, and educating lesser-known leaders, particularly those who identify as women.
What it does
Through a simple yet engaging mechanism, whats Her Name attempts to increase awareness about various remarkable women. When a person submits a photo to our website, our programme selects a female innovator from our database that most closely resembles them.
How we built it
Our project comprises of a user interface that allows users to interact with software and a server that houses our facial-recognition magic. We used HTML and CSS to design an easy interface that displays project information, directs user participation, and connects with the backend of our programme. We used Python and Flask to build an API for the backend. This API uses Google's Cloud Vision Facial Detection API to detect where a face is in an uploaded photo by providing the image's coordinates. Following that, OpenCV is used to extract the face in question and compare it to those in our database. The user is then shown the figure with the highest percentage match to his or her face.
Challenges we ran into
Trying to match our users' faces as closely as possible to those in our project was one of the issues we faced. The algorithm we used to match photographs wasn't developed at the start of the hackathon, resulting in discrepancies between the test photos we provided and those in our gallery.
Accomplishments that we're proud of
In accordance with the aforementioned challenge, we were able to match certain uploaded faces with those in our directory that we judged shared the most similar traits. We're also happy of our user interface, which we've been working on for the past day!
What we learned
Constructing an HTTP API for uploading image files was one of the ideas we studied. Implementing Jinja, a server-side template language that allows us to declare variables in HTML pages, was another important concept we learned. In order to safely use Google Cloud's APIs, we also learned how to set up correct authentication and authorisation.
What's next for whats her name?
We recognise that Her Name has potential for further development. Expanding our database of role models is one thing we can do. This may enable a wider range of consumers to successfully learn about someone with whom they actually identify.
We're also aware of a security flaw in our software. Users can submit as many photographs as their internet speed allows because our platform does not require human verification or rate limiting. Each image upload makes a call to the Cloud Vision API, which has a fee associated with it. Our staff might easily rack up a large Google Cloud cost as a result of this.