This is an application that makes it easy for job seekers to find and land interviews at their dream job.
It currently matches candidates with the best jobs based on their preferences (location, experience, and interests) and generates tips for job candidates to bolster their resume.
Room for improvement:
- Fine tune the job matching algorithm to include more parameters
- Handle resume improvements within the PDF itself
- Auto-apply with AI
To get started, clone the repository and install the dependencies:
git clone https://github.com/cypherprotocol/autogig.git
cd autogig
pnpm installThen, run the development server:
pnpm dev- Create a Supabase account
- Create a new project
- Go to Settings > API
- Copy the API URL and API Key
- Follow the Langchain setup instructions to create a vector store
- Create a SERPAPI account
- Copy the API Key
- Modify the
allJobs.tsscript. - Run
pnpm run all-jobsto scrape jobs - Run
pnpm run embedto embed jobs into the vector store
The scripts folder contains additional scripts for manual job scraping using SERPAPI and other APIs.
jobs.tsscript fetches direct job links from provided job_idallJobs.tsscript fetches all jobs from SerpAPI with a provided query string and location queryembed.tsscript embeds all jobs into the Supabase database using vector embeddingsdeduplicate.tsremoves all high similarity jobs from the database, ensuring that only unique jobs are stored (needs improvement)
The stack being used in the codebase includes:
- OpenAI: Used for generating tips and completing chat prompts.
- Next.js: The framework used for building the web application.
- Tailwind CSS: A utility-first CSS framework used for styling the application.
- Supabase: A backend-as-a-service platform used for creating a vector store for job embeddings.
- Langchain: A library used for generating embeddings and working with vector stores.