Bug fixes (filed as #125–#128): - Wizard step 7 read data.titles instead of data.search.titles — user-entered job titles and locations were silently dropped on every wizard run (#125) - GET /api/settings/search returned "titles" key but store expected "job_titles" — Settings → Search Prefs always showed empty even when data existed (#126) - remote_only preference not persisted during wizard setup (#127) - apply-to-profile didn't set default_resume_id in user.yaml, so future Resume Profile saves never synced back to the library entry (#128) Also: - Wizard step headings corrected (off-by-one after Training step was inserted) - Ollama host in wizard inference step now reads from saved wizard state - Resume upload during wizard now creates a library entry and sets it as default Docs: - New: docs/user-guide/daily-workflow.md — end-to-end daily usage guide - Updated: docs/user-guide/settings.md — rewritten for Vue SPA (was Streamlit) - mkdocs.yml nav: Daily Workflow added as first User Guide entry GUI help links: - web/src/composables/useDocsUrl.ts — shared docs base URL composable - Home: "Daily Workflow guide ↗" link in subtitle - Job Review: "? Docs" link in title row - Resume Library: "? Help" link in header - Settings → Resume Profile: "? Help" link in page header - Settings → Search Prefs: "? Help" link in page header
6.6 KiB
Settings
Access Settings from the sidebar. The page has a navigation panel on the left (desktop) or a chip bar at the top (mobile). Each section is described below.
For an overview of how settings fit into your daily use, see Daily Workflow.
My Profile
Personal information used in cover letters, research briefs, and interview prep.
| Field | Description |
|---|---|
| Full name | Your name as it appears in generated documents |
| Contact email | |
| Phone | Contact phone number |
| LinkedIn URL | Used in cover letter headers |
| Career summary | 2–4 sentences that anchor all LLM-generated content |
Mission Preferences
Optional notes about industries you genuinely care about. When the cover letter generator detects alignment with one of these industries, it injects your note into the generated letter.
| Field | Tag |
|---|---|
| Music industry note | music |
| Animal welfare note | animal_welfare |
| Education note | education |
Leave a field blank to use a generic default when alignment is detected.
Research Brief Preferences
Controls optional sections in company research briefs. Both are for personal decision-making only and never appear in applications.
| Setting | Section added to brief |
|---|---|
| Accessibility focus | Disability inclusion signals (ADA, ERGs, WCAG) |
| LGBTQIA+ focus | Inclusion signals (ERGs, non-discrimination policies) |
Resume Profile
A structured editor for your work experience, education, skills, and personal details. This is the primary data source for cover letter generation.
Resume vs. Library
The Resume Profile is backed by a structured YAML file (plain_text_resume.yaml). The Resume Library (/resumes, accessible from the sidebar) is a versioned archive of full resume texts. They stay in sync automatically when you use the "Apply to profile" flow — see Daily Workflow — Managing Your Resume.
Uploading a resume
If no profile exists yet, you can:
- Upload & Parse — upload a PDF, DOCX, or ODT. Peregrine extracts structured data automatically.
- Fill in Manually — start from a blank form.
- Run Setup Wizard — re-enter the first-run wizard (self-hosted only).
Editing the profile
When a resume exists, the full form is shown. Sections:
- Career Summary — used in every cover letter and research brief
- Personal Information — name, email, phone, LinkedIn; synced from My Profile
- Work Experience — title, company, period, location, industry, responsibilities, skills
- Education — institution, degree, field, dates
- Skills, Domains, Keywords — tags used for keyword matching; click Suggest for AI recommendations
- Certifications and Achievements — optional; included in cover letter context
Click Save to write changes. If a default library entry is linked, it updates automatically.
Search Prefs
Manage what Peregrine searches for across all job boards. Changes take effect on the next discovery run — no restart needed.
| Field | Description |
|---|---|
| Remote preference | Remote only, on-site only, or both |
| Job Titles | Roles searched on every board |
| Locations | Geographic scope; leave blank for unrestricted |
| Exclude Keywords | Drop any job title containing these words before it enters the database |
| Job Boards | Enable or disable specific sources; boards marked "coming soon" are tracked in the backlog |
| Custom Board URLs | Additional job board URLs to include |
| Blocklists | Companies, industries, or locations to always skip |
Click Suggest next to Job Titles, Locations, or Exclude Keywords to get AI-generated suggestions based on your resume.
Connections
API credentials and authentication for external services.
| Service | What it enables |
|---|---|
| Notion | Sync approved/applied jobs to a Notion database |
| Airtable | Alternative sync target |
| Google Drive | Document export |
| Slack / Discord | Status notifications |
| Google Calendar / Apple Calendar | Interview scheduling (Paid) |
See Integrations for per-service setup instructions.
System
Not available in cloud mode.
LLM backend configuration and service connection settings.
LLM Backends
| Setting | Description |
|---|---|
| Enabled toggle | Whether a backend is considered in the fallback chain |
| Base URL | API endpoint for OpenAI-compatible backends |
| Model | Model name or __auto__ (vLLM auto-detects the loaded model) |
| API key | Required for hosted APIs |
| Test button | Sends a ping to verify the backend is reachable |
Three independent fallback chains:
| Chain | Used for |
|---|---|
| Cover letter chain | Cover letter generation and general tasks |
| Research chain | Company research briefs |
| Vision chain | Survey screenshot analysis |
Service Hosts and Ports
Connection settings for Ollama, vLLM, and SearXNG. Each service has an SSL toggle and SSL-verify toggle for reverse-proxy setups.
Fine-Tune
Tier: Premium only.
Tools for fine-tuning a cover letter model on your personal writing style.
- Export Training Data — produces a JSONL file from your saved cover letters
- Configure training — rank, epochs, learning rate
- Start fine-tune — runs via the
ogmaconda environment with Unsloth - Register model — adds the output to Ollama as
alex-cover-writer:latest
License
View your current license key, tier, and entitlements. Paste a new key here if you are upgrading or replacing a key.
Data
Not available in cloud mode.
Export or delete your local data.
| Action | What it does |
|---|---|
| Export | Downloads staging.db and config files as a zip |
| Purge pending jobs | Deletes all jobs with status pending |
| Purge rejected jobs | Deletes all jobs with status rejected |
| Factory reset | Removes all data and config; returns to first-run wizard |
Privacy
Controls for data collection and diagnostic logging. All collection is opt-in.
Developer
Developer and debugging tools. Only visible when dev mode is enabled or a dev_tier_override is set.
| Option | Description |
|---|---|
| Reset wizard | Sets wizard_complete: false; wizard restarts on next page load |
| Dev tier override | Set tier to paid or premium to test tier-gated features locally |
| Clear stuck tasks | Manually fails any running or queued background tasks |
| View raw config | Shows current user.yaml contents |