AutoApply

by Liam-FrostVerified

A personal job application AI Agent for job discovery, fit scoring, tailored materials, form filling, human-gated submission and application tracking.

113
Stars
16
Forks
Python
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/Liam-Frost/AutoApply

Getting Started

Guides for using skills like AutoApply.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

AutoApply Logo

ProductQuick StartDocsArchitectureLicense

Version License Python FastAPI Vue PostgreSQL


AutoApply is a local-first job application automation workspace. It helps a job seeker discover roles, score fit, generate tailored application materials, prepare applications, and track outcomes while keeping every submit behind an explicit human decision.

The product combines a Vue/FastAPI operator console, PostgreSQL-backed job and application records, Redis/Celery background work, auditable agent traces, and a provider-agnostic LLM layer supporting OpenAI, Anthropic, Gemini, DeepSeek, Moonshot/Kimi, Qwen, xAI Grok, Groq, Mistral, OpenRouter, Ollama (local), the Claude and Codex CLIs, and user-defined custom OpenAI-compatible providers.

License: PolyForm Noncommercial 1.0.0. Personal, academic, and nonprofit use is free. Commercial use requires a separate license; see Commercial Use.

Product

AutoApply is designed for users who want automation without losing control over sensitive application actions.

  • Job discovery: Search LinkedIn-discovered roles and supported ATS platforms, normalize postings, and keep a durable Job Index.
  • Fit scoring: Combine hard rules, semantic matching, freshness checks, and explainability for rejected or borderline jobs.
  • Applicant memory: Maintain structured profile data, story bank entries, bullet pools, and reusable Q&A material.
  • Materials workspace: Generate resumes and cover letters from a job or pasted JD, using templates, source documents, and evidence-grounded IR.
  • Document library: Curate trusted resumes and cover letters, reuse them as generation bases, and promote generated artifacts when they are worth keeping.
  • Automation plans: Create user-defined recurring tasks that search, scrape, score, prepare materials, and optionally auto-apply eligible jobs.
  • Review and submission: Review prepared applications, replace materials, approve submissions, and keep submit actions gated.
  • Tracking and analytics: Track application status, generated artifacts, outcomes, task history, and provider/agent cost telemetry.

Current Status

Core product development is complete through Phase 18: Worker Activation, Reliability, Parallelism, and automatic artifact Cleanup with quarantine/audit (layered on top of Phase 17.9: LLM Provider Expansion).

The current application includes the Job Index, task queue with closed-out worker bodies (no fake "scheduled" / "stubbed" success returns), async materials generation that returns task_id + structured TaskRecord.result, a dead_lettered state + "Stuck / failed" tab for retries/discards, an automatic artifact-cleanup pipeline with quarantine + restore + purge, atomic-write protection on every materials writer, process-wide LLM rate-limit gates (global + per-provider), and the existing Phase 17.x surface (review queue, document library, material strategy defaults, multi-vendor provider management with per-provider model catalogs, Settings model picker, custom OpenAI-compatible providers, optional cheap-model tier, LinkedIn session management, modern Vue web console). Browser form-fill / click-submit, saved-search registry fanout, and outcome status sync are still explicit not_implemented paths rather than silent fake successes; legacy submit entrypoints now keep entries approved/queued instead of marking them submitted. The roadmap from here is Phase 19 (Per-Posting Tag Cache & Filter Fast Path plus saved-search registry fanout) → Phase 20 (Custom Job Sources / Connectors with URL safety, bounded multi-source search, and feature-gated template DSL) → Phase 21 (Multi-tenancy & Auth Hardening) → future ATS-first application status sync.

Latest local verification in this workspace:

  • uv run pytest -q: 1720 passed, 1 skipped (2026-05-21, after Phase 18)
  • npm run build: passed, with the existing Vite chunk-size warning
  • Alembic head: b8d2f9e15c33 (Phase 18.3 DLQ columns); the Phase 18 schema chain is e7c3a5b91f48f4e8c1d2a907a1c7b3e54f08b8d2f9e15c33

For implementation-level history, see Phase History and Changelog.

Quick Start

Install dependencies once, then use the unified local launcher:

# 1. Set AUTOAPPLY_DB_PASSWORD in .env (any non-empty value), then install deps
uv sync
uv run playwright install chromium
uv run autoapply init

# 2. Start Postgres + Redis, migrations, Celery worker/Beat, and the web UI
uv run autoapply start

Open the web console at http://127.0.0.1:8000.

autoapply start runs Docker Compose for data dependencies (Postgres + Redis), applies Alembic migrations, starts Celery worker and Beat, then launches the Python web app on the host. Use uv run autoapply start --check to print the exact startup plan without starting anything. If the default host ports are unavailable, the launcher chooses alternate ports and passes them to Compose, Alembic, Celery, and the web process for that run. It is cross-platform; Docker Desktop can be auto-launched on Windows/macOS when installed, while Linux expects the Docker daemon to already be available. For a single-server production install that runs the same processes under one supervisor, see supervisord.conf and section 15 of the deployment guide.

If you modify frontend files:

cd frontend
npm install
npm run build

The repository includes built SPA assets under src/web/static/spa, so a frontend rebuild is only required after editing frontend/.

Requirements

AreaRequirement
PythonPython 3.12+ with uv
FrontendNode.js and npm for local SPA rebuilds
DatabasePostgreSQL 16+ with pgvector
BrowserPlaywright Chromium
Cache and queueRedis for cache, locks, Celery broker, and Beat metadata
LLM providerAt least one of OpenAI, Anthropic, Gemini, DeepSeek, Moonshot, Qwen, xAI, Groq, Mistral, OpenRouter, a local Ollama server, the Claude / Codex CLIs, or a user-defined custom OpenAI-compatible endpoint

Common Commands

# Database schema
uv run alembic upgrade head

# All-in-one local runtime
uv run autoapply start

# Web console only
uv run autoapply web --host 127.0.0.1 --port 8000

# Provider setup
uv run autoapply provider list
uv run autoapply provider set-key openai sk-...
uv run autoapply provider set-primary openai
uv run autoapply provider test openai

# Search and tracking
uv run autoapply search --source linkedin --keyword "software engineer" --location "Canada" --max-pages 3
uv run autoapply status

# Background workers
uv run autoapply worker --queues search,materials,application,maintenance
uv run autoapply beat

# Automation plan runs
uv run autoapply plan-runs run --profile default --top-n 10
uv run autoapply pause-plan-runs --clear-pending
uv run autoapply resume-plan-runs

Use the deployment guides for complete setup and production notes.

Architecture

LayerResponsibilityKey Modules
Web consoleHuman-facing operator UIfrontend/, src/web/
Application servicesUse cases shared by CLI and Websrc/application/
Job intelligenceSearch, normalized postings, snapshots, freshnesssrc/jobs/, src/intake/
MatchingRules, semantic scoring, explainabilitysrc/matching/
MaterialsResume/cover letter IR, rendering, document librarysrc/generation/, src/documents/
AutomationPlan runs, review queue, digestsrc/orchestration/, src/review/
Task executionCelery tasks, queues, schedule, auditsrc/tasks/
Agent harnessBounded tools, traces, evals, HITL contractssrc/agent/
PersistenceSQLAlchemy models and Alembic migrationssrc/core/, migrations/
ProvidersLLM provider registry and credentialssrc/providers/, src/utils/llm.py

Documentation

DocumentPurpose
Deployment GuideInstallation, database, Redis, workers, and deployment operations
部署与使用教程Chinese deployment and usage guide
Project ManagementCurrent project state, next roadmap, verification baseline, and doc ownership
Phase HistoryCompact shipped-phase archive without README-level noise
ChangelogImplementation-level change log and verification notes
Architecture DecisionsAccepted design decisions and rationale
Agent ArchitectureAgent harness, tool boundary, HITL, trace, and eval contracts
Implementation PlanLong-form planning reference in English
实施计划Long-form planning reference in Chinese

Project Layout

frontend/             Vue SPA source
migrations/           Alembic schema migrations
src/application/      CLI/Web use cases
src/agent/            Agent harness, tools, traces, evals
src/cli/              autoapply command groups
src/core/             Models, configuration, database wiring
src/documents/        Template engines and user document storage
src/execution/        Browser automation and form filling
src/generation/       Resume and cover-letter generation
src/intake/           ATS and LinkedIn intake
src/jobs/             Job Index, snapshots, freshness, search cache
src/matching/         Rules, scoring, explainability
src/orchestration/    Plan runs and digest logic
src/providers/        LLM provider abstraction
src/tasks/            Celery app, tasks, Beat schedule, audit
src/web/              FastAPI routes and built SPA assets
tests/                Backend, route, eval, and integration tests

Safety Model

AutoApply is not intended to be an unchecked autonomous submitter.

  • Submit actions are gated by review flows and explicit approval.
  • Agents run inside bounded tool registries; they do not receive arbitrary filesystem, database, browser, or network authority.
  • Generated materials are evidence-grounded and traceable to profile facts, job snapshots, templates, and source documents.
  • PostgreSQL stores durable application, task, review, and job-index state; Redis is treated as derived cache/queue state.
  • The UI exposes review queues, task history, provider health, and downloadable artifacts for auditability.

License

AutoApply is released under the PolyForm Noncommercial License 1.0.0.

What this means

AllowedRequires Commercial License
Run AutoApply to apply for your own jobsYes
Personal experimentation, learning, hobby useYes
Academic research, coursework, thesis projectsYes
Use by a registered nonprofit, public-research organization, or educational institutionYes
Read, modify, and redistribute the source code for noncommercial useYes
Run AutoApply as a paid service for other job seekersYes
Bundle AutoApply into a commercial productYes
Use AutoApply inside a for-profit company's workflowYes
Sell support, hosting, or modifications based on AutoApplyYes

Commercial Use

Commercial use is not granted under the default license. If your use case requires a commercial license, contact the author:

Please include your organization, intended use case, and expected scale.

Required Notice

Required Notice: Copyright (c) 2026 Liam Frost (frostnova986@gmail.com)

This notice must be preserved in any redistribution of the software, in source or binary form.

Warranty Disclaimer

The software is provided as-is, without warranty. See the full LICENSE text for the legally binding terms.

Frequently Asked Questions

What is AutoApply?

AutoApply is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Liam-Frost. A personal job application AI Agent for job discovery, fit scoring, tailored materials, form filling, human-gated submission and application tracking. It has 113 GitHub stars.

Is AutoApply safe to use?

Yes. AutoApply passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install AutoApply?

Clone the repository with "git clone https://github.com/Liam-Frost/AutoApply" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is AutoApply written in?

AutoApply is primarily written in Python. It is open-source under Liam-Frost on GitHub, so you can review or fork the full source.

Are there alternatives to AutoApply?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh AutoApply against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI Agents
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details