Inspiration

The inspiration behind this idea is to create a platform to bridge the gap between aspiring techies and recruiters during the search for job and internship opportunities. Tech students can showcase their coding acumen by competing 1v1 against other users and earn points to rise up the leaderboards. The platform also enables students to chart their careers and up skill with AI powered resume grading and video interview feedback functionalities.

Recruiters can utilize the system as a one stop solution to their hiring needs. Rather than comb through thousands of applicants over multiple stages of shortlisting, recruiters can view the profiles of the top aspiring techies in different fields through the leaderboards feature and have access to their resume and video elevator pitch. Recruiters have the option to directly contact viable candidates for final rounds of interviewing or even create personalized competitions to further filter the pool.

The concept of gamification has been used to make the process of participating in coding challenges and tracking progress through the leaderboard more engaging and interactive. This helps to keep techies interested in applying for jobs by providing a sense of competition and accomplishment as they progress through the leaderboard. Additionally, gamification increases motivation and engagement by providing rewards and recognition for achieving certain milestones or reaching certain levels on the leaderboard. This can make the overall experience more fun and rewarding, which can help to keep techies interested in the website and motivated to continue participating in coding challenges.

What it does

On the Student profile page, users can toggle between different streams such as Data Structures, Algorithms, Data Science, Machine Learning and more to view their points and rankings in the leaderboards for that stream. The leaderboards feature comprises of a multi-tier league system wherein top leagues comprise of users with the highest points and lower leagues having users with relatively less points. The league system serves two purposes: allows competition between students in the same league for better skill matching and provides recruiters with easy filtering of talents.

Points are earned and deducted by competing in coding challenges against other student users in a limited timeframe where the winner is determined on the basis of code efficiency. After every fortnight, users are promoted and demoted between leagues depending on their accumulated points. Another feature for student users is the resume recommendation in which students can upload their resumes and receive suggestions for suitable job roles by a state of the art ML algorithm. The AI video interview analysis adds another dimension to the application by evaluating user’s video elevator pitch on the basis of facial cues and content.

On the recruiter page, the leaderboards for different streams are displayed, and recruiters can filter between candidates for any job or internships openings by checking out relevant student profiles. The recruiters are also provided with the option to create and post competitions for recruitment based on requirements. They can further set competition entry requirements such as minimum league level in the leaderboards, type of job role to be offered and type of opportunity (intern, fresh graduate, full time, part time etc.)

How we built it

We set up an elaborate client-server setup for real-time communication between devices of competing techies using TCP/IP. By using this channel the techies can challenge others to code duels in a field of their choosing.

When the coders are done with their solutions, it is sent over to the server for evaluation. Here a bash script is run for each solution to compute the output against expected output and to calculate time taken. Both parties are accordingly awarded or penalized followed by closing the connection. The persistent data was stored and manipulated using MySQL as RDBMS. We stored both recruiter and student data with encryption of passwords using SHA256 as a failsafe against data leaks.

We have employed 3 prime machine learning models in the application to help our users evaluate themselves as applicants. We used sklearn for resume analysis to classify the jobs to which the resume fits, Keras and OpenCV for evaluating facial cues in video elevator pitch, and transformer models to perform sentiment analysis on the speech data from the pitch.

Challenges we ran into

It was very hard to integrate so many frameworks , machine learning models, database management files into one essential tkinter GUI to develop a prototype for the website especially since we only had 2 days to perform this task.

Moreover, we had to ensure that our project was feasible, pertinent and had potential as a start-up idea to explore in the near future.

Accomplishments that we're proud of

We are extremely proud that we have successfully created a platform for aspiring techies to be aware of the tech jobs available, participate in coding challenges to advertise themselves to top tech companies, and determine their individual career paths in the tech industry using our machine learning models that give feedback and determine the correct fit based on resume input.

We are proud that we could take care of recruiter needs and provide recruiters with ability to create their own challenges, judge candidates based on their merit , and assess students using video interviews. We are proud we could deploy a GUI in only 2 days and build all necessary machine learning models and frameworks.

What's next for CodeIn

To truly establish our startup, we plan to deploy our GUI as a website. All our models, the backend, the mysql connection, and server side scripting is ready. However, we still need to work on website deployment. The future plans for the website includes expanding the number and variety of coding challenges offered, as well as increasing the number and prestige of companies offering internships to the winners. Additionally, the website would implement a feature that allows users to connect with other participants and collaborate on challenges. Other potential functionalities that could make the website better includes adding a feature that allows users to track their progress over time, and a feature that provides personalized recommendations for challenges based on a user's skill level and interests.

We aim to introduce networking groups/forums to connect like minded students and recruiters for job opportunities, research discussion and finding teammates for collaborative projects. Additionally, the video elevator pitch analysis model would expand to also evaluate hand gestures and vocal features.

Our resume recommendation system can be improved by providing suggestions to users on relevant skills they should be pursuing. Another functionality that could be added is a virtual classroom or a video conferencing feature that allows the users to attend live coding sessions with the experts and their peers.

Built With

Share this project:

Updates