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 install
Then, 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.ts
script. - Run
pnpm run all-jobs
to scrape jobs - Run
pnpm run embed
to embed jobs into the vector store
The scripts
folder contains additional scripts for manual job scraping using SERPAPI and other APIs.
jobs.ts
script fetches direct job links from provided job_idallJobs.ts
script fetches all jobs from SerpAPI with a provided query string and location queryembed.ts
script embeds all jobs into the Supabase database using vector embeddingsdeduplicate.ts
removes 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.