Many students face challenges in receiving proper one-on-one critique for their resumé and networking easily with other people in similar industries. Kindling offers to provide a fun solution to help individuals not only receive feedback on their resumé, but also network with people and increase their industry connections.
What it does
After logging in and submitting account information (such as a resumé with your personal information blurred out), the user is taken to the main screen where they are able to start swiping on other people's resumés. If the user swipes right, and if that other person swipes right on them, both users get matched and are able to message and exchange LinkedIn information, etc. If the user swipes left, they are prompted to leave some constructive criticism on the other user's resumé on ways they can improve it (i.e., "- you have irrelevant information in your projects section" or "- your work experience section should be before your technical languages section", etc.). Users are encouraged to leave criticism, since more criticism you offer, the more swipes you're allowed to make in a day.
How I built it
We created a React Native application. We had a backend that processed matching users with other users they have not seen before. As people swiped, the application would directly hit the database and start putting information on that specific interaction. We locally hosted our backend, and we started a Firebase db instance, which we were able to hit from either the backend or the frontend react native application.
Challenges I ran into
Our team ran into some issues with Firebase authentication which unfortunately slowed us down. We also noticed that our storage architecture could have been implemented much better: we were storing the resumé pdfs in the db (which meant that we had to perform our own compression algorithms and interacting with the native operating system using react native). Thus, we had difficulties uploading pdfs. We were informed that a more industry approach would be to use a Dropbox-like service to store the actual pdf (and the respective API for the service would handle all of the data-transformation of the file), and just store the location of that file in the db.
Accomplishments that I'm proud of
Personally, since I'm an embedded developer, I am not too familiar with web-development. This was a great learning experience for me to understand the technicals behind an industry level architecture. I was also able to get Google authentication to work (with some help from a mentor for fixing a bug), which I thought was a very neat feature. I am also proud of how our team was very structured (after conceptualizing our idea, we built a schedule in excel to map out our game plan).
What I learned
I learned the most about interacting with databases, interacting with backends, sending information from the client to the backend using restful requests, and, most importantly, the amount of consideration that needs to be put into the architecture for the backend/db solution for an application.
What's next for Kindling
We want to implement a better backend architecture (as I mentioned above in our difficulties section). We also want to develop the critiquing feature, where if a user swipes left on an application, they are prompted to enter some critique on how to improve the resumé.