Case Study: Automating the job finding process

This product is a special job seeking platform, which promises to turn the whole process on the top of its head and to make finding a job easy, comfortable and automatic.

Case Study: Automating the job finding process

The Project:

Our client is a Boston-based startup. Their product is a special job seeking platform, which promises to turn the whole process on the top of its head and to make finding a job easy, comfortable and automatic.

The software searches the Web and scrapes several Applicant Tracking Systems (ATS), automating the queries a human user would do, with Selenium browser automation.

We match the data with the information entered by the job seeking user, and list these hits with a calculated ‘Matching Score’ showing how close the given job offer is for the specifications of the user.

The user can then apply with the press of a button, because the JobStep system goes through the application automatically, thanks to a fully automated process.

To be exact, JobStep promises to land 5 interviews in 6 weeks. Their business is based on a subscription fee which covers one single 6 week cycle, and can be renewed.

The Problem:

This is a special collaboration between Lexunit and the client, because the startup has no in-house access to the technical expertise required for highly innovative development. The complete technical side is outsourced to Lexunit, especially the part that offers the most value: automation.

At this point, we are infused with the startup and collaborating on the highest level, following its lifecycle. We are involved in the planning phase, idea generation and product development actively. This is an ongoing dialogue where we give feedback about how viable certain ideas could be, how challenging the development of these new features would be, and how they would fit into the existing system.

However, JobStep is a live service, so we need to make sure the operation is running smoothly, while constantly pushing out upgrades.

JobStep built their MVP by manually progressing through the tasks that the service should be able to do with minimal human oversight.

The process includes:

- collecting job opportunities
- filtering them
- entering lots of parameters about the user
- tracking the status of the candidates

We are in a constant dialogue with the JobStep leadership, and are shaping the future of the service together.

The Solution:

Our main tasks so far:

- running job searches on Google and in several ATS, listing results in the JobStep interface

- making the software capable of scanning the questions, mandatory fields and answer options on job application web pages, extract this information and save it to the database

- developing a solution that enables job seekers to apply for each job listing of their choice, right from the JobStep platform

- this should be enabled thanks to the data the user entered, but if the application requires more, specific information, JobStep should ask these questions from the user within its own interface and enter the answers at the original job application website

Lexunit progressed through most of these tasks during 2021. The development roadmap shaped up like this:

Early 2021: we enabled search on a single ATS, and built the prototype of the application automation process.

May 2021: we finalised the Onboarding Form, the basic information form the users need to fill to apply for jobs.

Here is a screen from the final validation, when the users submit their data:

Originally, JobStep had no real frontend, they gathered the data through emailing their users and saved it into spreadsheets in the cloud.

At this point, JobStep was able to generate CV-s and categorize jobseekers based on that data.

September 2021: Dashboard Sheets are mostly automated through RPA solutions, only those that are ‘high effort’ for the machine and ‘low effort’ for humans remain. The number of supported ATS is going up to 5.

End of 2021: The Onboarding Form now contains the Basic Information section (self explanatory) and the Additional Questions section, which pulls the extra info requirements from the application tracking systems and lists them here as extra questions under the given job offer.

This means the user can stay inside JobStep and only spend the bare minimum of energy needed for the application process. JobStep handles everything else.

The final element of the Onboarding Form is the Admin Panel, which is reserved for those transformations that are impossible or way too difficult to automate at this point, but can be easily and quickly done by a human.

One example would be to analyze and understand what something like “around Los Angeles”  practically means, when a job seeker describes their location preference. You can’t always rely on measuring distance, as the travel time and specific accessibility features (highway connections, etc) are more important in commuting than raw distance. This panel is handled by the ‘job coaches’ of the JobStep team.

Methods, tools and technologies:

Search-API: Python, FastAPI, Celery, Selenium, Alembic, PostgreSQL, Docker, various Google API-s, AWS

Onboarding: TypeScript, React, NestJS, Prisma

Monitoring: Sentry, Metabase

Results:

JobStep went from an idea that job seeking could and should be automated, to a full-fledged product which made that dream a reality. Jobseekers can enjoy the fact that after completing their form, all they need to do is to stay in touch with their ‘job coaches’. They never have to spend long hours looking up suitable jobs and applying for them. The process is automated and the human element is there to help where the machine can’t.

The JobStep story is ongoing, with new features in the pipeline. It is a great example of an extended and all-encompassing technical and innovation partnership between a US startup and Lexunit.

Do you have a project in mind?  Tell us about it (we keep your secret), and we will make it happen!