Logo Jim Peel
Back to Projects

Job Application Workbench

Local-first job application platform that combines LLM-assisted job analysis, structured capability modeling, application workflows, and tailored document generation using local or hosted AI models.

OpenAIOllamaSQLitePythonJavaScriptJinja2LaTeXTectonicGitHub ActionsPlaywright

Job Application Workbench

Overview

Job searching is usually fragmented across browser tabs, spreadsheets, notes, AI chats, resumes, and repetitive application forms. I built Job Application Workbench (JAW) to bring those workflows into one system.

JAW captures job information, analyzes role fit against a structured career model, tracks applications, accelerates repetitive form entry, and generates tailored resumes and cover letters from reusable templates. It supports both local AI through Ollama and hosted models through OpenAI, allowing the user to choose between privacy, cost, and model capability.

This project gave me the opportunity to work across product design, desktop and web UX, data modeling, AI integration, document generation, testing, and release architecture rather than treating any one feature in isolation.

Core Workflow

Core Workflow

Architecture

JAW combines a desktop shell with a local web application and a relational persistence layer. Architecture

Capability Model

Instead of treating skills as a flat keyword list, JAW maintains a structured capability graph.

Capabilities can represent technologies, professional competencies, products, and related concepts. They can be organized into multiple views without changing the underlying entity identity. Capability Model

Paste Assistant, Cursor Rolodex, Custom Key Layouts

Many application systems still require repetitive manual entry.

JAW includes a compact desktop interface designed to remain beside the browser while completing an application. Its cursor-aware iterators let the user cycle through structured information. Paste Assistant

Document IDE

One of the larger parts of JAW is a source-driven document workbench for building resumes, cover letters, and other application documents.

Rather than hiding document generation behind a form, the workbench exposes the underlying composition model Document IDE

Templates use Jinja2 + LaTeX and render through Tectonic.

The editor supports:

  • reusable Templates, Sections, and Functions
  • private and global resources
  • document-specific job context
  • structured JAW runtime objects
  • AI generation blocks embedded in source
  • live preview
  • PDF generation
  • reusable template packages
  • local recovery buffers for unsaved edits
  • relationship-aware resource management

Rule-Based Document Routing

Different roles need different application material.

JAW supports deterministic document routing based on job-title rules. For example:

Management keywords
    → Management resume
    → Management cover letter

Architecture keywords
    → Architecture resume
    → Architecture cover letter

No rule matched
    → Platform / SRE defaults