A multi agent AI system that turns a resume and a job description into a tailored application package - resume builder, tailored resume and cover letter for each job. Backed by a curated job pool of 14,000+ live ATS roles refreshed every four hours.

Architecture

Problem

Applying for roles is a slow, repetitive grind. Tailoring a resume and cover letter for every JD takes hours, and most applicants do it without any structured signal about whether the role is actually a fit.

Solution

A pipeline of LLM and deterministic stages, end-to-end. Resume and JD are first parsed into structured profiles by LLM intake services. A deterministic Matchmaker scores skill overlap on those structured inputs. Four downstream LLM agents - Tailoring, Review, Resume Generation, and Cover Letter, each consuming the previous outputs to produce tailored DOCX and PDF artifacts. A grounded workspace assistant answers follow-up questions with citations back to the source resume and JD.

Landing & Workspace Preview

Resume
Resume
Cover Letter
Application Strategy
Resume

How it works

1. Job pool & cache layer

Pulls postings from four ATS sources - Greenhouse, Lever, Ashby, Workday. Caches them in Supabase Postgres with a generated tsvector for full text search. A pg_cron job refreshes the cache every four hours, six times a day. Currently caches ~14,000 roles across 100+ companies.

Pulls postings from four ATS sources - Greenhouse, Lever, Ashby, Workday. Caches them in Supabase Postgres with a generated tsvector for full text search. A pg_cron job refreshes the cache every four hours, six times a day. Currently caches ~14,000 roles across 100+ companies.

2. LLM-parsed intake

Both the uploaded resume and the pasted job description are parsed by dedicated LLM services into structured records - title, location, salary, hard skills, soft skills, must-haves, nice-to-haves on the JD side; experience, skills, and project history on the resume side. Everything downstream operates on these structured profiles.

4. Tailoring & Review Agents

Tailoring rewrites resume content to mirror the JD's vocabulary. Review checks the result - flags weak claims, third-person slips, and unsupported bullets to ensure the next stage gets clean inputs.

5. Resume & Cover Letter Generators

Two sibling LLM agents that produce the final artifacts. Resume Generation emits the tailored resume; Cover Letter Generator drafts a personalized letter from the candidate's actual project history. Both render as DOCX (python-docx) and PDF (WeasyPrint, with a ReportLab fallback).

5. Workspace Assistant

A chat interface that answers follow-up questions about the candidate-job match using only the artifacts already in the workspace and other general questions on the working of the product.

A chat interface that answers follow-up questions about the candidate-job match using only the artifacts already in the workspace and other general questions on the working of the product.

Tech Stack

- Next.js 16, React 19, Tailwind on Vercel

- FastAPI on OVH VPS, Caddy, Docker Compose

- Supabase Postgres with pg_cron + pg_net

- OpenAI API, 3-layer retry, per-agent fallback isolation

- WeasyPrint + python-docx for PDF and DOCX rendering

Create a free website with Framer, the website builder loved by startups, designers and agencies.