← Back to work
Production

CareerOS

An AI-augmented job search pipeline that turns career transition into a system: variant-enforced resumes, 7-channel employer research, and targeted applications across two machines.

The Problem

Job searching as an immigrant is a different game. You're not just looking for a good role. You're navigating visa constraints, employer designation lists, regional programs, and the reality that every application needs to be intentional. Spray-and-pray doesn't work when quality matters more than volume.

I needed a system that could handle the full lifecycle: find relevant openings, research employers deeply, generate resumes tailored to four distinct career narratives, produce professional PDFs, and track everything in one pipeline. So I built it.

The Pipeline

Every application flows through the same stages. URLs come in from job boards, Telegram, or manual research. The system extracts the job description, selects the right resume variant, tailors it to the role, generates a cover letter, renders PDFs, and updates the tracking pipeline.

1

Discovery

Job URLs arrive via inbox.txt, Telegram queue, or direct CSV entry. The system extracts job descriptions using Playwright for JavaScript-heavy career pages, assigns a sequential ID, and creates a structured application folder.

2

Variant Selection

The system auto-selects from 4 resume variants based on the role: Insurance/Guidewire (omits indie work), BA/PM General, Tech/Data (leads with portfolio), or Off-Profile (JD-driven reframing). The generator validates every output, so it's impossible to violate variant rules.

3

Tailoring

A 7-step tailoring framework matches the resume to the job description: keyword extraction, experience mapping, bullet selection (5/4/3/2 rule), achievement reframing, and skills alignment. Cover letters follow a standardized framework with mandatory rules.

4

Production

Markdown documents are rendered to professional PDFs via Playwright and HTML templates. Page counts are enforced (1-2 pages for resumes, 1 page for cover letters). Cross-platform filename safety prevents sync issues between Windows and Linux. The CSV pipeline updates automatically.

Key Decisions

Variant enforcement over flexibility

Four resume variants serve four career narratives. The generator validates every output against variant rules. Variant A physically cannot contain indie project references. This prevents the most common resume mistake: trying to be everything to everyone.

7-channel employer research

Every employer gets researched across company website, career page (browser-first for JavaScript), LinkedIn, four job boards, industry intel, RSS feeds, and immigration designation verification. This is overkill for most job searches, but when you need to know if an employer can sponsor immigration, surface-level research isn't enough.

Session protocol discipline

Every work session starts with git pull, inbox processing, and status review. Every session ends with a 7-step checklist: CSV integrity, status counts, folder validation, PDF checks, documentation updates, cleanup, and commit. This prevents the state drift that kills long-running projects.

Two-machine deployment

Windows laptop for review and submission, Linux VPS for agent processing and research. Git master branch as sync mechanism. Cross-platform filename safety (blocking Windows-illegal characters) prevents the subtle bugs that break multi-OS workflows.

What I Built

99 Python tools

20,000+ lines of code

25+ applications

Submitted with tailored materials

4 resume variants

Enforced by validation, not convention

7-channel research

178+ employers profiled

2-machine sync

Windows + VPS via Git

14-column pipeline

CSV tracking from NEW to APPLIED

Tech Stack

Core

  • Python 3
  • CSV pipeline (14 columns)
  • Markdown

AI / ML

  • Gemini API
  • Variant-enforced generation
  • Prompt Engineering

Automation

  • Playwright
  • Weasyprint
  • BeautifulSoup4
  • python-jobspy

Data

  • Pandas
  • profile.md (source of truth)
  • Git sync (Windows + VPS)

What I Learned

The biggest lesson from CareerOS is that constraint enforcement beats flexibility in high-stakes systems. The variant validation system (where the generator physically cannot produce invalid output) eliminated an entire class of mistakes. When the cost of error is high (wrong resume to wrong employer), make the wrong thing impossible instead of just unlikely.

I also learned that session discipline is infrastructure. The mandatory start/end checklist sounds bureaucratic until you realize it's the only thing preventing state drift across machines, sessions, and weeks. In a long-running system where one bad commit can corrupt the pipeline, process rigor isn't overhead. It's the product.