KC Logo
HomeSpotlightProjectsAbout
AI / Automation

Automated Job Workflow

One tool that collapses the entire job-hunt loop — discover, filter, score, tailor, render, and apply — into a single CLI and a local web dashboard.

In Progress2025 – Present•Solo Developer
View Source
  • Python
  • FastAPI
  • React
  • Vite
  • Playwright
  • SQLite
Automated Job Workflow banner
Overview

About this project

Job hunting is a repetitive, high-volume pipeline: search several boards, weed out irrelevant and senior roles, judge fit, rewrite your resume for each posting, render a clean PDF, and fill out yet another application form. Automated Job Workflow collapses that entire loop into one tool.

It discovers listings across multiple job boards, filters and scores them against your own resume embedding, uses an LLM to rewrite experience bullets per job (without fabricating facts), renders interactive Light/Dark PDFs, and fills application forms through a companion Chrome extension backed by a localhost bridge.

A single CLI (python -m workflow) drives everything, while a local web dashboard built with FastAPI and React wraps the same engine for day-to-day use — all configured from one root .env.

What it does

Key features

  • Multi-source discovery across Indeed PH, LinkedIn, JobStreet, Kalibrr, or a single pasted job URL.
  • Pre-storage filtering by role, seniority, salary band, and excluded employers — applied before anything hits disk.
  • Rules + AI enrichment that normalizes skills and salary, then a semantic gate compares each posting against your resume embedding.
  • LLM resume tailoring that rewrites experience bullets per job, with a verifier that guards against fabrication.
  • Interactive PDF rendering with a Light/Dark toggle (Acrobat OCG layers) via Jinja2 and Playwright.
  • One-click apply through a Chrome/Edge extension and a localhost bridge for ATS autofill and mark-applied sync.
  • Local web dashboard with a searchable jobs table, live pipeline logs, a resume diff viewer, and a masked .env editor.
  • Provider fallback chain that rotates across Groq, Anthropic, Gemini, Mistral, DeepSeek, OpenAI, and local Ollama on quota limits.
  • MCP servers (knowledge + runtime) so AI assistants like Cursor can inspect and drive the pipeline.
Built with

Technology stack

  • Python
  • FastAPI
  • React
  • Vite
  • Playwright
  • SQLite
  • MCP
  • Tailwind CSS
Gallery

A closer look

The live jobs table — 694 listings with semantic match scores, filters, and per-row tailor/apply actions.
Control-center overview — jobs, applications, tailored resumes, generated PDFs, and LLM cost at a glance.
Per-job tailored resumes with match and quality grades, plus an original-vs-tailored diff.
Pipeline runner — trigger scrapes or a full run and watch the live streaming console.
Cover-letter builder that drafts a truthful, tailored letter and exports a formatted PDF.
Grouped .env editor with masked secrets, provider health, and quota tracking.
Fully responsive — the control center adapts down to mobile.
By the numbers

Quick metrics

Per application

$0.01

Per application

Average LLM cost to tailor and render one application.

Listings / day

~200

Listings / day

Bulk scraping with the semantic gate at ~$0.14/day.

Job boards

4

Job boards

Indeed PH, LinkedIn, JobStreet, and Kalibrr.

LLM providers

7

LLM providers

Automatic fallback across providers on quota limits.

Project details

Status
In Progress
Timeline
2025 – Present
Role
Solo Developer
Category
AI / Automation

Tech

  • Python
  • FastAPI
  • React
  • Vite
  • Playwright
  • SQLite
  • MCP
  • Tailwind CSS
Source code
Keep exploring

Want to see more?

Head back to the projects section, or dive into the source for Automated Job Workflow.

View Source Code