Inspiration

Refusing to be ordinary has been the motto of our team at JobProctor since the very beginning. We are a team of high spirited engineers who want to tackle the problem of unemployment in the gig economy for the people from the lower strata of society. Given the uncertainty in the world and the ever-increasing number of people losing their jobs due to the global pandemic, we decided to come up with a platform that can empower our society in such tough times. Thus, we decided to tackle the giant of unemployment which would further worsen in the near future. In our opinion, the people who would be the worst hit by this situation would belong to the unorganized informal industry. Considering Facebook and messenger’s penetration through all the sections of our society, we felt it was best to use this platform in order to reach a large number of people who are in search of jobs and do not use traditional job search platforms like LinkedIn, etc. Our app aims at organizing and managing the informal job industry. Such engagement does more than increase productivity, it decreases attrition, reduces snafus, and rationalizes the cost of operation; all while giving a much safer cultural fit. JobProctor’s mission is to create a transparent and ethical and efficient job-search platform for all domestic and gig workers and household employers, and provide bespoke platform features to assist and support users throughout the employment term.

What it does

JobProctor is an interactive and easy-to-use chatbot on messenger, where people can search for jobs, create jobs, create personalized alerts for particular openings and also apply for these positions via messenger. The semi- and unskilled workforce in India are expanding as demand for everyday services has increased in urban areas. From delivering food and appliances to helping with home maintenance and carpentry work, the segment is growing exponentially, mostly driven by rapid urbanization. There are several job search platforms available, but all of them are concentrated in the professional and white-collar sectors. We do not have a leader in this job sector. All these factors added to our heartfelt desire to make rural India economically self-sufficient lead to the isolation and selection of this particular problem. Today, unskilled and gig workers are looking at savings, location, living conditions, and a community, which are some of the key factors in determining the willingness for them to take up a job. Our solution caters to all these factors and provides a personalized job search considering all such factors. We aim at fostering better job opportunities for workers and domestic help. Our venture will also help promote local businesses and mom-pop stores who are in search of workers. We want to broaden the horizon of opportunities for domestics and unskilled workers.

How we built it

Explained below are the features of our apps and how we built them.

Create a Job Posting: We allow employers to create job postings instantly. All job postings are saved in our database and also in Google’s Cloud Database to ensure they reach the right audience. All the added jobs go through our reliability model to notify users about sham or fake postings so as to safeguard them. Employers can add more details to make their job reliable.

Show Job Postings: This allows users to view their job postings. Edit or Delete them.
Get Alerts: This unique feature helps the users to keep a track of all the positions he/she is interested in and get daily updates for the same. You can just type ‘Alert’ to see Set one or Delete an existing one. Google’s Recommendation Engine: We have used Google’s Job Search v3 API to make sure users get the right recommendations when they add their skills/preferences. Google’s API indexes the added jobs and recommends them in order of highest relevance with respect to all preferences. Auto Complete Feature: We also allow users to paste a job description into our Messenger Interface. The bot leveraging Wit.AI’s amazing technology is smart enough to identify the key parameters like Job Title, Salary Range, Work Experience to make an effortless experience for employers. Automatic detection of possible fraudulent jobs: This feature helps us to see the degree of legitimacy of a posted job and bolter the decision of an individual while applying for the same. In order to achieve this feat, we integrated our app with a machine learning model which predicts the percentage of the legitimacy of a job in a job posting. The technology arsenal used to build this feature consist of python(with libraries like scikit-learn, xgboost, pandas, hyperopt), flask, and Heroku. Python is solely used in order to build the ML model while Heroku and flask are used to host the model and run a server to listen for Http Requests respectively. Diving into further details, Dataset Description: The dataset used is an annotated public dataset with 17,880 job postings with 900 fraudulent jobs. Each record in the dataset is represented as a set of structured and unstructured data with the label as if the job record is fraudulent or not. The dataset is highly unbalanced which is dealt with using oversampling the minority label. Data visualization and feature engineering: In order to understand and better model the task at hand, we analyzed the data through visualization and built a proper understanding of the same. The categorical features like employment type, department, and experience needed were embedded using CatBoost categorical encoder. The job description associated with a job was cleaned and a 100-dimensional vector embedding was created using Doc2Vec. Model training: The model was trained with various models in order to select which of the algorithms proved promising for the given data. Finally, we decided on the top-performing classification algorithms, xgboost and RandomForest, and ensembled them to create our final model. Optimisation: Optimization of the hyperparameters of each algorithm was done using Bayesian Optimization. The final set of hyperparameters which yielded the best result during validation. Hosting: In order to integrate the above functionality into our application built in Node.js, the model was hosted using flask locally and then publicly using Heroku. For every job posted the application fires an API request to the hosted model, to which it answers with the legitimacy prediction, which is displayed on our application.

Challenges we ran into

We had a holistic experience full of ups and downs that further broadened our approach towards tackling problems, both in tech and socially. Learning and creating an app in Node js and getting familiarized with Facebook’s Messenger Platform was the key part of our journey. Integration with Google’s Job Search v3 API was one of the cardinal challenges since the API had little documentation and sources to refer to. The next part of our journey was identifying how we can make our system reliable and it was at this juncture that we thought of having a reliability system in place.

During the legit job identification model building, the public dataset was severely imbalanced to which we dealt with using oversampling of the minor classes. This way the model was better able to generalize on the features that permit a job to be flagged fraudulent. Another challenge was to integrate the model built-in Python with the application which was in javascript.

The workaround to this was to create an API that links both. The main app calls for the prediction of the model with the details of jobs, the hosted model receives the API call, predicts the legitimacy of the job, and sends the prediction which is then shown in the application.

The asynchronous nature of Javascript made things difficult while we tried communicating with different components of our application which are interdependent on each other for data. Designing user interactions and experience was also another challenge. Choosing from the available plethora of UI frameworks that offers most of the required components and also looks modern was also a part of the design process. We kept reiterating the design process as the app progressed to come up with a more intuitive user experience.

Also, other challenges of implementing JobProctor include: how to encourage its initial usage, and build a ‘trust’ community with users on the platform; how to build upon initial momentum towards strong user retention; creating conditions for social awareness among employers in host-countries; increasing conditions for platform accessibility for those within the identified demographic, but are digitally-handicapped and/or in hard-to-reach areas.

Accomplishments that we're proud of

We have classified our accomplishments into two baskets, a technology bucket, and a social impact bucket.

To begin with the former, integrating the Google Job Search API was something that was a blocker for our way since we wouldn’t have been able to provide our users with the much needed personalized suggestions. After following the documentation thoroughly, the team was finally able to get past it and we were happy we could bring this to our users.

We wanted to reduce the number of online recruitment frauds, especially employment scams, which may lead to privacy loss for applicants and in turn, harm the reputation of various organizations involved. Our application provides a way to solve this problem by using machine learning. This way the app can reinforce the trust that we form with the aspiring applicant’s community.

Applying the idea of organization and management to the informal job industry in India is an unprecedented task. Innovation shines through JobProctor’s easy-to-use mechanism, which is designed to engage user segments by giving personalized and timely alerts and updates. Inbuilt platform features aim to continue supporting employers as well as employees throughout their job-hunting process.

Team JobProctor is proud of the fact that we could successfully use Facebook's penetration to reach out to such an often neglected section of our society and thus create a positive impact in their lives by exposing them to infinite opportunities of progressing their careers.

What we learned

The main takeaway for our team was to appreciate how tech-dominated if implemented in a simple yet elegant way can serve a larger purpose for the greater good of our society.

The satisfaction with the fact that JobProctor will positively impact the growing number of increasing informal workforce in India along with the expanding migrant populations is yet another takeaway.

JobProctor’s backbone lies within SDG 10: Reduced Inequalities, and Goal 10.7 — “to facilitate orderly, safe, regular and responsible migration and mobility of people […] through the implementation of planned and well-managed migration policies,” alongside Indicator 10.7.1 to measure impact (“Recruitment cost borne by employee as a proportion of yearly income earned in country of destination”).

What's next for JobProctor

We plan to increase the job posting on our platform by a large number by 2021. We also aim to provide support in regional languages. We also look forward to implementing voice-based conversations keeping in mind our target audience. We want to add bio finder functionality to our application. We also have global aspirations with the platform and are aiming to provide a meaningful livelihood to 120 Cr domestic workers and blue-collar individuals.

Built With

Share this project:

Updates