A Few Days ago, Me and my team “The Pioneers” won Smart India Hackathon 2022 organized by Ministry of Education, Indian Government and AICTE. Let me give a brief Introduction about the problem statement first.
Problem Statement ID: PK848
Problem Statement: Future Skills Recommendation
Concerned Ministry: Ministry of Electronics and Information Technology
Domain Bucket: Smart Automation
Problem Statement Description: “Due to the changing technology and its requirement for getting employed in India and abroad, there has to improvements suggested by experts for predicting the Prediction of Admission & Jobs in Engineering & Technology /Management/Pharmacy with respect to his/her strength, age, location and similar important factors. This is not a one time process and needs to be done frequently as trends in the industry keep changing. Addressing this problem will introduce the required changes that would bring the current youth and upcoming generations in parallel with the students of other countries in terms of knowledge and skills in that domain.”
I was leading the Tech Department in which, I worked with a lot of different technologies in order to complete this project. We named our application as “SkillItUp”. Basically, My Role was as a Allrounder 🙃, where I used my Data Science, Machine Learning, Cloud Computing, Web-Backend Development, Database Administrator, Flutter Development, Documentation and Other Programming Skills. Working with these much different technologies isn’t easy as it seems to.
Enough of Introduction, Now Let’s start with the Tech Journey. Before entering into the hackathon, we developed basic prototype model for our solution. Following are its Tech Specifications
Backend (Web-Server for API): Django
Frontend (Mobile App): Flutter
Cloud (Hosting & Administration): Amazon AWS
Database: Postgre SQL (Amazon RDS)
Machine Learning: Scikit-Learn and Tensorflow
The Main algorithm which I developed was Skill Recommendation Algorithm Based on User Preferences. Here we asked questions to user about his Academic performance, His Technical Interests and other Preferences to predict the best possible Job Role in Information Technology Department for the user. This algorithm remained Heart of My Project. The main game which we played was around this algorithm.
Classification Algorithms were used to implement this feature. We used XGBoost Algorithm in this feature which gave us the best accuracy of about 97.5%. We also tested the dataset for SVM which gave accuracy of 93%. Below is the final output of the application for this feature.
Here as you can see my main focus remained on predicting IT Skills. To prove my point I had done analysis on World Bank Dataset and Found IT Sector to be the most Skill Demanding Factor as of 2022.
So this point helped us in proving our Above Feature right in front of the Jury Panel. Now another thing which we added as a prototype in our project was Trending Technology Section.
In this section we scraped data from Live Website of Stack Overflow and Github which provided Data of Analytics of IT Skills. We simply scraped those data and further ranked them according to the popularity ranked and then displayed the whole data on our screen. We scraped data about Trending Technologies and Trending Professions as well.
So with this basic prototype we entered the Hackathon contest and started interaction with the Jury members. First Mentoring Round was Quite Heavy for us. As I mentioned before being a Machine Learning and Backend Engineer, the main task to tackle the jury questions and solve the given problem was on me. In the First Round Itself, I realized that Judges are more focused on Machine Learning, rather than frontend or UI/UX of the application. The First round feedbacks were to add College Admission Prediction and Location & Age based Job Suggestion for all departments. At first It looked quite heavy task as everything must be dynamic and done through automation. Dataset must have certain validities which must be checked for integrity of data which is added.
So, I began just surfing around and thinking about the best possible way to solve the given problem. We had around 6 hours to solve these given problems. We decided to give Admission Prediction a Priority as It was less complex. We found a dataset on Kaggle named as “IIT-NIT category-wise cutoff data”. I examined this dataset and found it perfect to solve the given task. I classified the required parameters like All India Rank, Caste Category, All Girls/General, Location and Program Name. We fitted Decision Tree Algorithm Here to get around 75% Accuracy.
After Admission prediction, other task was to develop Location and Age based Job Role Suggestion System for all departments. here we used the World Bank Data-Set once again to expand our application. We used to predict different department job role suggestions and I developed a mechanism to get Country based best Job Role Suggestion.
As we completed this, The Second Round Started. As I mentioned we got around 75% accuracy in Admission Prediction after First Round. Now the Jury suggested me to improve the accuracy of the model to take it above 85% and then merge it with the main Application. Also jury members suggested to Try Neural networks with Deep learning Techniques.
So now the Real hackathon started, I mean the Night Time. In the Night Time there were lot of tasks for me as I mentioned I was a Full Stack as well as Devops Engineer for this project. A lot of pressure was there on me :). Following were the tasks to accomplish on my side in the next few hours before final round:
Improve Accuracy of Admission Prediction
Feature Selection on Location based Jobs
Neural Network Integration
Dumping the models into backend
Backend API Development
AWS Deployment and Setup
Etc.. Many more and Specially the BUGS!!!!
After drinking the Mango Juice as an energy drink, I started to work on the problems and Tried my best to solve the given problems. Following are the solutions which I successfully achieved
Accuracy Improved to 89%
Successful API Integration
Proper AWS Configuration
I wasn’t that much successful on deploying Neural network on the cloud to be honest. But I gathered all the reports and proofs of concepts about our project and was ready to face the jury for the last round.
My main focus on last round was to give the best presentation with all the proofs as a hard copy to made the working desk clean and perfect for jury members to analyze the project fully. After a lot of discussions and arguments and proofs the final round lasted around 20–25 minutes and the Jury quite looked satisfied from my answers!!
So here are some final screenshots shown to judge as future enhancements:
After an Hour in the final ceremony, We were announced as winners and nothing can match that feelings 🙂
Enough said now so lets conclude it.
So overall my experience was very good while working with these all different technologies and interacting with the Judges and Chief Guests during the hackathon.
Thank You 🙂