Inspiration

The members of our team met at the start of the hackathon. All of us came here without a team, and we didn't really know anyone. We wouldn't have met if one of the volunteers hadn't mentioned that we could form teams after the opening ceremony. Networking and meeting new people is hard sometimes.

What it does

That's why we imagined Kinship, a way to promote social interactions in big events. Our goal was to create an opt-in application through which people that opted in could access social details about the others that opted in upon their camera recognizing their face. They could access information such as the role (mentor, volunteer, participants for a hackathon) or situational elements ("I'm searching for a team!") that would make it easier for everyone to connect with one another.

Our idea was to use facial recognition to identify the participants and pull the relevant data from our database. Then, it could be displayed on a cellphone, or even on smartglasses. Upon a match with an opted-in attendee, their social details would be a click away. This would be a service where participants opt-in when they sign up for the event, with a new profile that only contains the information the organizers find pertinent and that the user agrees to provide (typically a LinkedIn account and a GitHub for a professional event or social medias such as instagram and a list of hobbies for something more informal).

How we built it

Our strategy was to create a mobile application and a server. Our mobile app would allow to take a video or picture, and transfer it to a remote server where it would go through analysis with the python library face_recognition . This analysis would identify faces on the image, match them with recorded participants, and send back the informations they provided upon registration. These details could then be displayed to the user.

In practice, we downscaled our project to only supporting pictures, as real time analysis was beyond our processing and technical capacities in 24h. We deployed our backend to Heroku, which was written with Python FastApi and face_recognition, and prototyped front-end clients on multiple platforms in parallel (Flutter, Kivy, Javascript, Swift).

Challenges we ran into

We didn't have much experience in web development with true remote servers, and deploying our own server and a separate mobile app was a major challenge. We struggled with choosing a hosting platform, and with the choice of a language/framework for the client application.

Another important challenge was setting up a uniform environment. Managing our python versions and libraries took a lot of time and effort. Some of us were able to start developing immediately, while others had to find the precise combination of versions that allowed them to execute code on their personal computers.

Accomplishments that we're proud of

We survived the night and managed to write code that partly achieved our goals. We probably broke a world record in amount of Guru’s drinked in 24hrs.

What we learned

Being a mix of people with different experiences and perspectives allowed us to share a lot of experiences and useful personal knowledge of tools we used in the past (Postman, Python Virtual Environments). We all came out as better developers by learning from each other’s expertise.

Although choosing tools that we were not completely familiar was not the best idea considering the amount of time we had, we all learned a lot. It was an occasion to experiment, discover new things and get out of our comfort zone. Very far out of our comfort zone.

What's next for Kinship

Ideally, we could complete the modular version of our server that allows for any organizing teams to add their event to our application. Users from all platforms (PC, iOS, Android) could either take new pictures our use pictures from their galleries to access social details about peers that they’d like to keep in touch with.

Built With

Share this project:

Updates