| app | ||
| config | ||
| data/survey_screenshots | ||
| docker | ||
| docs/plans | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| compose.yml | ||
| Dockerfile | ||
| environment.yml | ||
| Makefile | ||
| pytest.ini | ||
| README.md | ||
| requirements.txt | ||
| setup.sh | ||
Peregrine
AI-powered job search pipeline — by Circuit Forge LLC
Automates the full job search lifecycle: discovery → matching → cover letters → applications → interview prep. Privacy-first, local-first. Your data never leaves your machine.
Quick Start
1. Install dependencies (Docker, Docker Compose, NVIDIA toolkit if needed):
git clone https://git.circuitforge.io/circuitforge/peregrine
cd peregrine
bash setup.sh
2. Start Peregrine:
make start # remote profile (no GPU)
make start PROFILE=single-gpu # with GPU
3. Open http://localhost:8501 — the setup wizard guides you through the rest.
macOS: Docker Desktop must be running before
make start. Windows: Not supported — use WSL2 with Ubuntu.
Inference Profiles
| Profile | Services | Use case |
|---|---|---|
remote |
app + searxng | No GPU; LLM calls go to Anthropic/OpenAI |
cpu |
app + ollama + searxng | No GPU; local models on CPU (slow) |
single-gpu |
app + ollama + vision + searxng | One GPU for cover letters + research + vision |
dual-gpu |
app + ollama + vllm + vision + searxng | GPU 0 = Ollama, GPU 1 = vLLM |
Set the profile in .env:
# .env
DOCKER_COMPOSE_PROFILES=single-gpu
Or select it during the setup wizard.
First-Run Wizard
On first launch, the app shows a 5-step setup wizard:
- Hardware Detection — auto-detects NVIDIA GPUs and suggests a profile
- Your Identity — name, email, career summary (used in cover letters and prompts)
- Sensitive Employers — companies masked as "previous employer (NDA)" in research briefs
- Inference & API Keys — Anthropic/OpenAI keys (remote), or Ollama model (local)
- Notion Sync — optional; syncs jobs to a Notion database
Wizard writes config/user.yaml. Re-run by deleting that file.
Email Sync (Optional)
Peregrine can monitor your inbox for job-related emails (interview requests, rejections, survey links) and automatically update job stages.
Configure via Settings → Email after setup. Requires:
- IMAP access to your email account
- For Gmail: enable IMAP + create an App Password
License
Core discovery pipeline: MIT AI features (cover letter generation, company research, interview prep): BSL 1.1
© 2026 Circuit Forge LLC