Repository navigation
A self-hosted job-search workspace: Python source adapters collect public job postings, a C++17
backend searches and ranks them with deterministic, explainable matching, and a minimal Web UI
tracks applications. The optional AI worker is isolated from the core workflow; no API key is
required to run or test the project.
Highlights
- C++17 Reactor backend — epoll edge-triggered I/O, main/sub reactors with an
EventLoopThreadPool, TcpConnection lifetime management, eventfd-based cross-thread wakeup,
timers, HTTP/1.1 parsing and routing. - Explainable matching — rule-based scores with explicit reasons; the ranking path is
deterministic and testable. - Compliant sources — Greenhouse, Lever, Ashby, and Nowcoder campus-recruitment adapters;
robots-first, no login walls, no anti-bot circumvention. - Job-to-application workflow — import, search and filtering, match review, resumes,
application stages and a status board. - One-command demo —
./tools/dev/demo-up.shstarts MySQL 8, Redis 7, the backend and the
Web UI with 12 synthetic jobs. - Optional AI worker — task-based assistance behind a separate worker; the core workflow runs
without it.
Quality
- 312 C++ test cases (CTest) plus Python adapter and worker test suites
- ASan/UBSan/TSan presets and an L4 verification matrix
- MySQL 8 schema (13 tables) and Redis 7 session store
- CI on every PR: clean build, full test suite (MySQL + Redis), container image build
- Benchmark (4 vCPU VMware VM, Release, 2 threads / 32 connections):
GET /health13,421.82
req/s, p99 7.17 ms
Quick start
git clone https://github.com/cjs1102/JobPilotAI.git
cd JobPilotAI
./tools/dev/demo-up.sh
Open http://127.0.0.1:8081. Manual setup and source builds are documented in the README.
Security and license
There is no submission/auto-apply path: a human reviews and applies. See SECURITY.md for the
private vulnerability disclosure policy. Licensed under MIT.