Peregrine by Circuit Forge LLC — LLM-powered job discovery and application pipeline https://circuitforge.tech/software/peregrine
Find a file
pyr0ball 2d1c48e7af feat: LGBTQIA+ focus + Phase 2/3 audit fixes
LGBTQIA+ inclusion section in research briefs:
- user_profile.py: add candidate_lgbtq_focus bool accessor
- user.yaml.example: add candidate_lgbtq_focus flag (default false)
- company_research.py: gate new LGBTQIA+ section behind flag; section
  count now dynamic (7 base + 1 per opt-in section, max 9)
- 2_Settings.py: add "Research Brief Preferences" expander with
  checkboxes for both accessibility and LGBTQIA+ focus flags;
  mission_preferences now round-trips through save (no silent drop)

Phase 2 fixes:
- manage-vllm.sh: MODEL_DIR and VLLM_BIN now read from env vars
  (VLLM_MODELS_DIR, VLLM_BIN) with portable defaults
- search_profiles.yaml: replace personal CS/TAM/Bay Area profiles
  with a documented generic starter profile

Phase 3 fix:
- llm.yaml: rename alex-cover-writer:latest → llama3.2:3b with
  inline comment for users to substitute their fine-tuned model;
  fix model-exclusion comment
2026-02-24 20:02:03 -08:00
app feat: LGBTQIA+ focus + Phase 2/3 audit fixes 2026-02-24 20:02:03 -08:00
config feat: LGBTQIA+ focus + Phase 2/3 audit fixes 2026-02-24 20:02:03 -08:00
data/survey_screenshots chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
docker feat: add Docker Compose stack with remote/cpu/single-gpu/dual-gpu profiles 2026-02-24 19:31:57 -08:00
scripts feat: LGBTQIA+ focus + Phase 2/3 audit fixes 2026-02-24 20:02:03 -08:00
tests feat: complete generalization — smoke tests, README, all personal refs extracted 2026-02-24 19:41:09 -08:00
.dockerignore feat: add Docker Compose stack with remote/cpu/single-gpu/dual-gpu profiles 2026-02-24 19:31:57 -08:00
.env.example feat: add vision service to compose stack and fine-tune wizard tab to Settings 2026-02-24 19:37:55 -08:00
.gitignore feat: add Docker Compose stack with remote/cpu/single-gpu/dual-gpu profiles 2026-02-24 19:31:57 -08:00
compose.yml feat: add vision service to compose stack and fine-tune wizard tab to Settings 2026-02-24 19:37:55 -08:00
Dockerfile feat: add Docker Compose stack with remote/cpu/single-gpu/dual-gpu profiles 2026-02-24 19:31:57 -08:00
environment.yml chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
Makefile feat: add cross-platform dependency installer and Makefile for Linux/macOS 2026-02-24 19:47:06 -08:00
pytest.ini chore: seed Peregrine from personal job-seeker (pre-generalization) 2026-02-24 18:25:39 -08:00
README.md feat: add cross-platform dependency installer and Makefile for Linux/macOS 2026-02-24 19:47:06 -08:00
requirements.txt feat: add Docker Compose stack with remote/cpu/single-gpu/dual-gpu profiles 2026-02-24 19:31:57 -08:00
setup.sh feat: add cross-platform dependency installer and Makefile for Linux/macOS 2026-02-24 19:47:06 -08:00

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:

  1. Hardware Detection — auto-detects NVIDIA GPUs and suggests a profile
  2. Your Identity — name, email, career summary (used in cover letters and prompts)
  3. Sensitive Employers — companies masked as "previous employer (NDA)" in research briefs
  4. Inference & API Keys — Anthropic/OpenAI keys (remote), or Ollama model (local)
  5. 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