SkillAgentSearch skills...

JobApplicationWizard

Native macOS job search tracker with Kanban board, AI chat (Claude), PDF export, and full application management

Install / Use

/learn @zacspa/JobApplicationWizard
About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop

README

Job Application Wizard

A native macOS app for managing your job search: track applications on a Kanban board, save job descriptions before they disappear, sync interviews with your calendar, and get AI-powered career coaching through Cuttle, a context-aware floating assistant.

macOS 14+ Swift License

Job Application Wizard screenshot


Features

Job Posting Import

Paste in a job posting URL and it pulls the title, company, salary, location, and requirements automatically into a kanban and a table view. Pipeline stages, notes per application, company profiles. It detects ATS systems like Greenhouse and Lever and hits their APIs directly. Falls back to scraping when needed, with Claude filling the gaps.

Kanban Board & List View

Pipeline across all stages: Wishlist, Applied, Phone Screen, Interview, Offer, Rejected, Withdrawn. Toggle between a Kanban board and a sortable List view at any time. The List view supports column sorting by company, excitement, status, location, salary, and date added. A status filter bar lets you narrow to a single stage; in Kanban mode, filtering shows only that column.

Job Detail

Each application has a full detail panel with tabbed sections:

  • Overview — company, title, location, salary, URL, timeline, resume version, color-coded labels, excitement rating (1–5), favorite flag, and per-status subtask checklist
  • Description — full-text job description storage (paste it before the posting disappears); print, save PDF, or copy to clipboard
  • Notes — multi-card note system with title, subtitle, tags, and body in a responsive grid
  • Contacts — track recruiters, hiring managers, and referrals with name, title, email, LinkedIn, notes, and connected status
  • Interviews — log each round with type, date, interviewers, notes, completion status, and linked calendar events with countdown badges
  • Documents — attach and manage files per application

Cuttle: AI Assistant

Cuttle is a free-floating, draggable AI assistant that docks to any panel in the app. It replaces the traditional side panel with a context-aware blob that knows what you're looking at: a specific job, a pipeline stage, or the whole board. Cuttle renders markdown in chat bubbles and maintains separate conversation histories per context.

Two provider options:

| Provider | How it works | |---|---| | ACP Agent (default) | Connect to any Agent Client Protocol-compatible agent; Claude, Goose, Copilot, and more. Agents are discovered from a public registry and launched as local subprocesses. No API key needed. | | Claude API | Direct Anthropic API integration. Requires your own API key (stored in the system Keychain). Shows token usage and estimated cost per response. |

Quick-start modes (pre-populated prompts): | Mode | What it does | |---|---| | Chat | Open-ended conversation about the application | | Tailor Resume | Keyword-matched bullet suggestions against the JD | | Cover Letter | Tailored 3–4 paragraph cover letter | | Interview Prep | Behavioral and technical questions with STAR-framework answers | | Analyze Fit | Fit score and gap analysis against the job description |

Cuttle has full control over job application data: it can update fields, add notes, log contacts, and modify status autonomously based on your conversation. All AI-driven changes are tracked through the reversible history system, so anything Cuttle does can be reviewed and undone.

Calendar Integration

Link interview rounds to macOS Calendar events. The app syncs on activate, detects rescheduled or deleted events, and shows interview countdown badges on both Kanban cards and List rows.

History & Undo

A time-travel system tracks all changes (manual and AI-driven) as reversible events. Field updates, status changes, note edits, contact modifications, and document operations can all be undone.

Design System

A semantic token layer (colors, typography, spacing, radii, shadows, materials) drives all views. Glass surfaces, iridescent sheen on Cuttle-docked panels, outlined fields with floating labels, and consistent button styles (pill, ghost, action) give the app a cohesive visual language. A standalone DesignSystemShowcase app lets contributors preview every component.

My Profile

A personal profile (accessible from the sidebar) feeds context into every AI request:

  • Name, current title, location, LinkedIn, website
  • Summary, target roles, skills, preferred salary, work preference
  • Full resume text and cover letter template

When profile fields are populated, the AI sees structured candidate context alongside the job description, making tailored output significantly more accurate.

Settings (⌘,)

A four-tab settings panel:

  • General — default launch view (Kanban or List), persisted across launches
  • AI Provider — choose between ACP Agent or Claude API; for ACP, browse the agent registry, select an agent, and connect/disconnect with a status indicator; for Claude API, enter your API key (stored in the system Keychain, never on disk)
  • Data — export all applications to CSV, import from CSV (merges by ID), full JSON backup and restore, or reset all data
  • About — app version with Sparkle auto-update support

Other

  • Labels — tag applications with preset or custom color-coded labels (Remote, Hybrid, Dream Job, Referral, FAANG, etc.)
  • Favorites & Excitement — star favorites and rate excitement 1–5 for quick prioritization
  • Subtasks — per-status checklist items on each application
  • CSV Import/Export — round-trip your data at any time; you always own it
  • JSON Backup/Restore — full application data backup and restore
  • PDF Export — generate a clean PDF of any job description
  • Persistence — applications and settings saved to JSON in ~/Library/Application Support; API key stored in the system Keychain

Requirements

  • macOS 14 (Sonoma) or later
  • For ACP Agent mode: Node.js (for npx-based agents) or a compatible binary agent installed locally
  • For Claude API mode: a Claude API key
  • AI features are optional; all other features work without any provider configured

Installation

Download

Grab the latest DMG from the Releases page; it's signed and notarized. The app checks for updates automatically via Sparkle.

Build from source (Xcode)

The easiest way to build from source; macros are enabled via a one-time trust prompt.

git clone https://github.com/zacspa/JobApplicationWizard
cd JobApplicationWizard
open Package.swift

Xcode will ask you to trust the Swift macro targets from TCA; click Trust & Enable. Then build and run (⌘R).

Build from source (command line)

Requires Xcode command-line tools. This project uses TCA's Swift macro plugins, which need the --disable-sandbox flag when building outside Xcode (without it the macro plugins may crash the compiler or fail to build).

git clone https://github.com/zacspa/JobApplicationWizard
cd JobApplicationWizard
swift build -c release --disable-sandbox

To run the built binary as an .app bundle (needed for windowing, Sparkle updates, etc.), use the included build_dmg.sh script or assemble manually:

APP="JobApplicationWizard.app"
mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" "$APP/Contents/Frameworks"
cp .build/release/JobApplicationWizard "$APP/Contents/MacOS/"
cp -r .build/release/Sparkle.framework "$APP/Contents/Frameworks/"
# You'll also need an Info.plist — see build_dmg.sh for the full template
open "$APP"

Setup

  1. Launch the app; an onboarding screen walks you through the main features
  2. Open Settings (⌘,) → AI Provider
    • ACP Agent (default): click Refresh to load the agent registry, select an agent (e.g. Claude Agent), and click Connect. First-time npx agents may take a moment to download.
    • Claude API: switch to Claude API and paste your Anthropic API key. The key is stored securely in the macOS Keychain and never leaves your machine except for direct calls to the Anthropic API.
  3. Click My Profile in the sidebar to add your resume and background (optional, but improves AI output significantly)
  4. Press ⌘N or click Add Job to add your first application

Architecture

Built with The Composable Architecture (TCA) by Point-Free.

Sources/
├── JobApplicationWizard/
│   └── App.swift                              # SwiftUI App entry, window scenes
├── DesignSystemShowcase/
│   ├── ShowcaseApp.swift                      # Standalone DS preview app
│   └── ShowcaseSections.swift                 # Component gallery sections
└── JobApplicationWizardCore/
    ├── Models.swift                           # JobApplication, JobStatus, JobLabel,
    │                                          #   Contact, InterviewRound, Note,
    │                                          #   SubTask, JobDocument, UserProfile,
    │                                          #   AppSettings, AIProvider,
    │                                          #   ACPConnectionState, ChatMessage
    ├── DesignSystem/
    │   ├── DS.swift                           # Token namespace
    │   ├── DSColor.swift, DSTypography.swift  # Color and type tokens
    │   ├── DSSpacing.swift, DSRadius.swift    # Spacing and radius scales
    │   ├── DSShadow.swift, DSMaterial.swift   # Shadow and material tokens
    │   ├── DSAccent.swift                     # Lane accent colors
    │   ├── PillButtonStyle.swift              # Filter pill buttons
    │   ├── GhostButtonStyle.swift             # Undo/redo ghost buttons
    │
View on GitHub
GitHub Stars21
CategoryDevelopment
Updated4d ago
Forks5

Languages

Swift

Security Score

90/100

Audited on Apr 1, 2026

No findings