selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
OfferPilot logo

Self-host OfferPilot

v0.1.0-desktop.1

Local-first job search agent for tracking applications

BetaOpen SourceAGPL-3.0
Updated6 days ago
LanguagePython
Setup difficultyModerate
Stars
752
Port
8080 (HTTP web interface)
Requires
Python, Uv
Install with Docker
Application tracking Kanban board showing companies, positions, and stagesMaterial preparation workspace with AI-generated suggestions for target positionPilot chat interface with session list, conversation, confirmation card, and reference panelText-based mock interview practice with AI questions and evidence panelSide-by-side offer comparison with summary cards, salary breakdown, and deadline differences

What is OfferPilot?

OfferPilot is an open-source, local-first job search agent that puts your applications, resumes, interviews, and offers into a single workspace. It provides a Kanban board for tracking application stages, a resume manager with versioning, AI-assisted material generation tailored to job descriptions, text-based mock interview practice with AI follow-up questions, offer comparison with customizable dimensions, and a built-in Pilot agent that can query your saved data, draft content, and propose updates to key records after your confirmation. The software runs as a web application (React frontend + Python/FastAPI backend) accessible via Docker, source code with uv and npm, or an experimental unsigned Windows desktop installer. Data is stored locally in SQLite. AI features require configuring your own model provider (via LiteLLM) and may send data to that provider. The project is licensed under AGPL-3.0 and maintained by the offercontext organization.

Should you self-host OfferPilot?

OfferPilot scores 48/100 on selfhost.directory (how scoring works) and ranks #18 of 38 in Personal Productivity. It has 752 GitHub stars.

It shipped 1 stable release in the past year. The latest, v0.1.0-desktop.1, came out on 19 October 2026.

Setup is moderate: expect some configuration beyond a single command. It is AGPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is LanguageTool (75/100, 15 205 stars). It scores higher overall, so compare the two before you pick. See OfferPilot vs LanguageTool side by side.

Features

  • Email assistant (experimental)Experimental, QQ mail only, real credentials disabled by default in desktop build
  • Interview preparation & mock interviews
  • Interview retrospective
  • Job application tracking
  • Learning/experimentation materials
  • Live2D avatar (Haru)Uses Live2D official sample model, not original; separate license terms apply
  • Local-first data storage
  • Multi-platform InstallationWindows installer is unsigned pre-release test build
  • No auto-apply or external messaging
  • Offer comparison & salary negotiation prep
  • Offline voice transcription (optional)User must explicitly click to download model; not included in build
  • Pilot AI agent
  • Resume Management
  • User confirmation for critical changes

OfferPilot README

How to install OfferPilot

Install OfferPilot with Docker

Git, Docker
Environment variables
OFFERPILOT_DATA not used; data stored in Docker volume offerpilot-data mounted at /data

git clone https://github.com/offercontext/offerPilot.git offerpilot cd offerpilot

docker build -t offerpilot . docker run --rm -p 127.0.0.1:8080:8080 -v offerpilot-data:/data offerpilot

打开 http://localhost:8080。

Requires Git and Docker. No separate Python or Node.js installation needed.

OfferPilot releases & version history

FAQ

Does OfferPilot automatically apply to jobs or contact recruiters?

No. OfferPilot is for managing the job search process, preparing materials, and organizing suggestions. It does not automatically submit applications or send messages to recruiters. Critical record changes require user confirmation.

Does local-first mean my data never leaves my device?

No. Business data is stored locally, but when using AI features, relevant data is sent to your configured model service and may incur provider costs. Local storage does not mean all AI computation happens locally.

Can I use OfferPilot without configuring AI?

Yes. Basic features like recording applications, saving job descriptions, and manually editing materials work without AI. AI features like material generation, mock Q&A, and AI analysis require configuring a model service.

More in Task Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…