Inspiration
Many computer science students have struggled to find internships in recent years. It feels like you have to apply to at least 100 positions to even score a single interview. This is a negative feedback loop as if you don't mass apply yourself, you won't have a chance at getting a job. This is exacerbated by the fact that a lot of applicants are applying for positions they are not qualified for. From the employer perspective, they then also have to deal with sorting with "trash" applications.
What it does
We want to mitigate this problem via our website Emply which enforces a limit to how many applications a user can submit to any employer per week. This should hopefully encourage users to make their applications count (selecting a good employer fit, ensuring they qualify for the position, etc.). This should help employers too, as with the reduced volume of applications, they have less "trash" to sort through.
How we built it
We used Figma to draft the UI design. We used flask as a python backend to help interface with the database, and the rest of our backend was javascript through React.js. The rest of frontend was general HTML5 and CSS. For our database, we used MongoDB because of its easy ability to setup cloud hosting.
Challenges we ran into
We ran into a solid number of challenges, from the standard compatibility and dependency issues to longer and more detrimental attempts to implement a feature that led to failure. The first big challenge was attempting to implement popup windows, which had a persistent bug where they would reinitialize over and over again and rendered it relatively unusable. The other challenge was through our attempt to implement sessions to store user data. Cookies have issues when you are not using HTTPS, and when we did use it MongoDB struggled to pass data through. We solved this by storing local user auth states without cookies.
Accomplishments that we're proud of
As a team, we're proud of how much we were able to accomplish in 24 hours. Although we could use a few more finishing touches, we have most of the core functionality working, and we like how our UI looks and flows. Our integrated multi-faceted backend that works effectively internally and externally with the frontend.
What we learned
We learned what working in a team under a big time constraint feels like. As a group, we learned version control and how to effectively combine code: Identifying key tasks, defining proper abstractions for them, managing logical dependencies, and merging branches coherently.
Log in or sign up for Devpost to join the conversation.