Jobdeck

After hearing from people in my network how hard it can be to get a job interview let alone getting hired, I started working on Jobdeck to make that process easier and more manageable for them.

Introduction

Over the last few months I have been talking with a lot of people in my network, and somehow this problem kept popping up. If they were not dealing with it personally, they knew of at least one person in their family/friend group who was struggling with this.

The Challenge

For companies that are looking for new staff there are a lot of options and tools available to make the hiring process easier and more manageable. Most of the tools available incorporate some form of AI and screening to categorise applicants. At the same time there is not much available for the people who are on the other side of the table, the applicants. For them it is a very long and tedious process, that costs a lot of energy and time. With Jobdeck I am making this process more manageable and time efficient for applicants, without compromising on quality and custom tailored approach towards each open position they are applying for.

Technology

For this project I chose to work with Laravel, Inertia with VueJS, and Tailwind. For AI related features I am using OpenAI's API and mostly using GPT3.5 Turbo because it seems to able to handle what I need it to do at an affordable price. I debated whether or not to use Laravel as an API layer, but eventually decided against it. As the current approach is more suited for quickly iterating and making adjustments where needed.

Progress and Learnings

This project is in active development, which means facing a variety of challenges every day. I have written down some of the challenges I encountered and how I have solved them.

Many to Many Relationship

I am familiar with SQL, and know how to work with pivot tables. But how this exactly worked in Laravel was a bit of a mystery to me. I ended up getting it working after a few hiccups.

Jobs and Queues

Since it takes a while for tasks to finish, I have implemented jobs and queues. This way the front-end feels snappy and responsive, and the user won't be looking at a loading screen for several minutes, that blocks them from doing any other thing on the site.

Formatting Plain Text From OpenAI

The data I get back from OpenAI is just a string of text. Getting that formatted in a way that looks good on the front end was quite a challenge. I had to write a pretty extensive function to get it work. But the result is very consistent.