Architecture Update
The Resume Factory v2.0
Update: The pipeline described below is live. View the generated Resume here.
In the last 48 hours, we fundamentally replatformed the “Resume Engine.” We moved away from a static Markdown file to a Slot & Variant Architecture driven by a master CSV.
The Strategy: Precision over Automation
The goal isn’t just to generate more resumes; it’s to generate precise resumes. The complexity lies in the hierarchy of needs for a specific role:
The Problem: A recruiter might insist I emphasize “Change Management” or “AI” above all else. If I send them my “Headless CMS” resume, I fail the keyword scan. If I manually rewrite it, I drift from my source of truth.
1. The “Slot & Variant” Data Model
We solved this by treating career history as a database of Slots (Stories). Each Slot contains multiple Variants (Vibes).
- The Slot: A specific achievement (e.g., ID: elc_migration).
- Variant A (Technical): “Architected Python ETL pipeline…”
- Variant B (Strategic): “Led enterprise replatforming initiative…”
- Variant C (The Hook): “Automated SEO schema generation using Python…”
This allows us to maintain a single “Golden Record” (CSV) that generates infinite variations without data duplication.
2. Governance: The “Human-in-the-Loop”
The Risk: Generative AI often leads to Achievement Hallucination—inventing metrics to fit a keyword.
The Solution: We restrict AI to the “Extraction Layer” (analyzing Job Descriptions). The “Assembly Layer” (Python) is strictly deterministic. It only picks pre-verified bullets from the Golden Record.
3. Dynamic Metadata Injection
The Ingestion script parses dynamic metadata to adjust the resume’s “Identity” to match the target persona:
4. Future State
We are building toward a “Headless Recruiter Interface”—a system where I can paste a Job Description URL, and the engine automatically assembles the highest-matching valid variants into a PDF.