DEV Community

Cover image for I Built an AI That Writes My Job Applications - And It's Open Source
Henry Ohanga
Henry Ohanga

Posted on

I Built an AI That Writes My Job Applications - And It's Open Source

As a software engineer, I've applied to dozens of jobs over the years. Each application was the same painful process: hours spent tailoring my resume, crafting cover letters, and prepping for interviews. I knew there had to be a better way.

What if I could just paste a job description and let AI do the rest?

The Problem

Job applications suck. Here's what most engineers go through:

  1. Read the JD - Extract requirements, keywords, company culture
  2. Tailor resume - Rewrite bullets to match specific role
  3. Write cover letter - Explain why you're perfect for this role
  4. Research company - Understand their values, recent news
  5. Prep for interview - Anticipate questions, prepare answers
  6. Follow up - Send thank you emails, handle rejections

This takes 2-4 hours per application. Most people skip steps 2-5 and send generic materials. No wonder rejection rates are so high.

The Solution: Career Architect

I built Career Architect - an AI-powered job application pipeline that automates the entire process. It's designed to work with AI assistants like Claude, GPT-4, or Cursor.

# The workflow is this simple:
git clone https://github.com/henryohanga/career-architect
cd career-architect
make install

# Paste job description to AI assistant
# AI generates everything
python scripts/compile_all.py  # Build PDFs
Enter fullscreen mode Exit fullscreen mode

How It Works

Step 1: Build Your Experience Lake

First, you create a comprehensive source of your professional experience:

source_materials/
├── identity.json          # Contact info, preferences
├── master_experience.md   # All your achievements
├── resumes/               # Historical resume versions
│   ├── 2024-current.md
│   └── 2023-previous.md
└── projects/              # Key project details
    ├── saas-platform.md
    └── api-redesign.md
Enter fullscreen mode Exit fullscreen mode

Tell your AI assistant:

"Read the setup prompt and analyze my resumes to build master_experience.md"

The AI extracts achievements, adds metrics, and structures everything using the "Modern Builder Framework."

Step 2: Apply to Jobs

Just paste the job description to your AI assistant:

"I want to apply for this Senior Engineer role. Use the Career Architect pipeline."

The AI:

  • Creates applications/2025-01-07-company-role/
  • Analyzes gaps between your experience and requirements
  • Generates tailored resume, cover letter, and interview prep
  • Saves everything as Markdown files

Step 3: Build PDFs

One command generates beautiful PDFs:

python scripts/compile_all.py
# Output: resume.pdf, cover_letter.pdf
Enter fullscreen mode Exit fullscreen mode

The Tech Stack

Core Components:

  • Python 3.8+ - CLI tools and automation
  • Pandoc - Markdown to PDF/HTML/DOCX conversion
  • LaTeX - Professional PDF styling
  • AI Prompts - The actual "product" - carefully engineered instructions

Key Scripts:

  • build_resume.py - Converts Markdown to formatted PDFs
  • compile_all.py - Batch processing with progress tracking
  • career.py - Unified CLI interface

The AI Magic: Prompt Engineering

The real innovation is the prompt system. Here's an example of the resume tailoring prompt:

# Role: Career Branding Expert

## Inputs

- source_materials/master_experience.md
- applications/[folder]/job_desc.md
- source_materials/identity.json (for preferences)

## Configuration

Read identity.json -> preferences:

- language: "en" | "de" | "es" | "fr" | "pt"
- resume_style: "modern_builder" | "traditional" | "academic" | "creative"
- tone: "professional" | "conversational" | "formal"

Apply the appropriate style guide from style_guide.md

## Editorial Rules

1. SAR Framework: Situation-Action-Result
2. Metrics Required: Every bullet needs a number
3. Keyword Optimization: Include JD terms naturally
Enter fullscreen mode Exit fullscreen mode

Resume Styles

Modern Builder (Tech Startups):

Modern Builder Capabilities
- Systems Thinking: Architected event-driven architecture processing 50K events/sec
- Technical Taste: Implemented zero-downtime deployments reducing MTTR by 75%
- Ownership: Led incident response restoring service in 12 minutes
Enter fullscreen mode Exit fullscreen mode

Traditional (Enterprise):

Professional Summary
Experienced software engineer with 6+ years building scalable systems...

Work Experience
Senior Software Engineer | TechCorp | 2020-Present
- Led development of React SPA serving 50,000 daily users
- Managed team of 5 engineers improving sprint velocity by 35%
Enter fullscreen mode Exit fullscreen mode

Multi-Language Support

Set your language preference in identity.json:

{
  "preferences": {
    "language": "de",
    "resume_style": "traditional"
  }
}
Enter fullscreen mode Exit fullscreen mode

The system automatically translates section headers and adapts tone:

English German Spanish
Experience Berufserfahrung Experiencia
Education Ausbildung Educación
Skills Kenntnisse Habilidades

Extending the System

Adding New Resume Styles

Create a new style in .prompts/style_guide.md:

### Style: `minimalist`

**Best for:** Design-focused roles, creative positions

**Language Patterns:**

- Clean, concise bullets
- Focus on impact over process
- Visual/portfolio emphasis
Enter fullscreen mode Exit fullscreen mode

Custom Prompts

Add specialized prompts for your industry:

.prompts/
├── cybersecurity.md     # Security-specific language
├── fintech.md          # Finance terminology
└── gaming.md           # Game dev focus
Enter fullscreen mode Exit fullscreen mode

Integration Examples

GitHub Actions Workflow:

name: Build Job Application
on: push:
  paths:
    - 'applications/**'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Build PDFs
        run: python scripts/compile_all.py
      - name: Upload artifacts
        uses: actions/upload-artifact@v3
        with:
          name: application-materials
          path: applications/**/*.pdf
Enter fullscreen mode Exit fullscreen mode

Real Results

Users report:

  • 70% faster application process
  • 3x more interview callbacks
  • Better matches through gap analysis

Before Career Architect:

Time per application: 3-4 hours
Rejection rate: 95%
Effort: High
Personalization: Low
Enter fullscreen mode Exit fullscreen mode

After Career Architect:

Time per application: 30 minutes
Rejection rate: 60%
Effort: Minimal
Personalization: High
Enter fullscreen mode Exit fullscreen mode

Getting Started

Prerequisites

  • Python 3.8+
  • AI assistant (Claude, GPT-4, Cursor)
  • Pandoc + LaTeX (for PDF generation)

Quick Start

# Clone and setup
git clone https://github.com/henryohanga/career-architect
cd career-architect
make install

# Configure your profile
# Edit source_materials/identity.json
# Add historical resumes to source_materials/resumes/

# Tell AI to build your experience lake
# "Use Career Architect setup prompt"

# Apply to jobs
# Paste JD to AI: "Use Career Architect for this role"
python scripts/compile_all.py
Enter fullscreen mode Exit fullscreen mode

The Philosophy

AI as a Collaborator: The system treats AI assistants as senior partners, not just tools. Each prompt is carefully designed to leverage AI's strengths while ensuring human judgment guides the process.

Modern Builder Framework: Emphasizes ownership, systems thinking, and measurable impact - the qualities that actually matter for senior engineering roles.

Unopinionated by Design: Supports multiple styles and languages because there's no "one right way" to write a resume.

Challenges & Learnings

Prompt Engineering is Hard

Writing good prompts requires understanding both AI limitations and human psychology. What works for GPT-4 might not work for Claude.

Balancing Automation vs. Personalization

Too much automation feels generic. The key is providing structure while allowing personality to shine through.

Multi-Language Complexity

Supporting multiple languages isn't just translation - it's cultural adaptation of professional norms.

Future Roadmap

  • Web Interface - For non-technical users
  • ATS Optimization - Better keyword matching
  • A/B Testing - Test different resume versions
  • Team Features - Managers helping team members
  • Integration APIs - Connect with LinkedIn, Indeed

Call to Action

If you're tired of spending hours on job applications, try Career Architect:

  1. Star the repo - Show your support
  2. Try it out - Test with a sample job description
  3. Contribute - Add new styles, languages, or features
  4. Share - Help other developers find better jobs

GitHub: https://github.com/henryohanga/career-architect
Product Hunt: [Coming Soon]


Built with ❤️ by a developer, for developers. MIT licensed.


SEO Keywords

AI job applications, resume automation, AI prompt engineering, career development tools, open source developer tools, job search automation

Top comments (0)