← back to the chaos
AI Job Hunter
— interactive architecture map · local-first Tauri 2 monorepo
Overview
AI Generate
Autopilot
Scrape → Match
Analyze
Documents
Settings
Show all wires
Roadmap & bugs
Client / Renderer
Service Hooks
Prompts (LLM assembly)
Shared Contracts
Rust Commands
Rust Domains
Scrapers (SCRAPERS · 24)
AI Providers
Data
External
Platform Infra (single-owner · composed everywhere)
1 · drives
2 · useAiGenerate
3 · generateResume()
buildResumePrompt
ProviderProfile
truncate
extractMetadata
cover letter
repair JSON
4 · ai.generatePipeline
invoke adapter
AiContract
5 · invoke('ai_generate')
6 · Pipeline stages
Completer.resolve()
7 · resolve(ProviderId)
8 · POST /api/chat (stream)
emit ai:stream deltas
validate
retry
research complete()
company research
persist result
INSERT
chat_stream (direct)
export()
pick template
export DOCX/PDF
render PDF
render DOCX
inject links
getModelTier
locale lexicon
large input
resolve
resolve
resolve
resolve
resolve
resolve
resolve
HTTPS
HTTPS
HTTPS
HTTP
spawn
spawn
spawn
API key
drives
useAutopilot
autopilot.*
AutopilotContract
invoke
run + schedule
scrape boards
notify
track status
autopilot.step
useBoards
scrape.run
ScrapeContract
invoke('scrape')
ScraperEngine.run
Scraper trait
SCRAPERS.get(id)
browser boards
INSERT jobs
upsert vectors
cache
MatchContract
invoke('match_resume')
embed + cosine
Adzuna/JSearch API
HTTP API
browser
analyzeResume
validateAndRepair
ai.generatePipeline
pick resume
documents.*
DocumentsContract
invoke
import
extract text
ExtractedResume
CRUD
embed chunks
profile → resume
state
events
prefs
bundle
export/import
export/import
export/import
credentials.*
invoke
OS keychain
router
provider
route
route
route
route
route
route
#[command]
#[command]
#[command]
#[command]
re-export
re-export
re-export
shared() client
AppResult
RequestTrace
net::http
data_dir()
StageTrace
/api/*
data_dir()
logs
update check
main.tsx
renderer bootstrap
__root.tsx
router shell
index.tsx
Dashboard route
ai-generate.tsx
AI Generate route
1
analyze.tsx
Analyze route
autopilot.tsx
Autopilot route
jobs.tsx
Jobs route
settings.tsx
Settings route
app-client.ts
AppClient · useAppClient
tauri-client
createTauriInvokeClient
ai-generate.machine
generation FSM
autopilot-run.machine
run FSM
preferences-store
Zustand prefs
cn()
className merge · god
useNotification()
toast hook · god
use-ai
React Query · ai
use-ai-generations
saved generations
use-ai-provider
provider keys/health
use-autopilot
autopilot runs
use-boards
board catalog
use-match
resume↔job match
1
use-documents
document store
use-jobs
job tracker
use-postings
posting cache
use-cli-agents
coding agents
use-credentials
keychain creds
use-job-preferences
search prefs
use-privacy
privacy/backup
use-support
diagnostics
use-system
system/resources
generation.ts
streamGenerate / steps
resume-ai.ts
structured resume helpers
generate/export
DOCX/PDF export glue
generate/templates
9 export templates
buildResumePrompt
@ajh/prompts
buildCoverLetterPrompt
@ajh/prompts
buildMetadataPrompt
name/role/keywords
validateMetadata
repair JSON
generate/links
inject hyperlinks
analysis-prompt.ts
@ajh/prompts/analyze
validate.ts
validateAndRepair
context-manager/multi-pass
chunked passes
context-manager/truncation
budget trim
context-manager/model-size
getModelTier()
provider/resolveProfile
ProviderProfile
locale
11-language lexicons
index.ts
namespace barrel
ai.ts
AiContract
autopilot.ts
AutopilotContract
scrape.ts
ScrapeContract
1
match.ts
MatchContract
1
documents.ts
DocumentsContract
jobs.ts
JobsContract
boards.ts
BoardsContract
cliAgents.ts
CliAgentsContract
credentials.ts
CredentialsContract
resume.ts
ResumeContract
system.ts
SystemContract
schemas/
Zod validation
types/
JobRecord, MatchScore…
commands/mod.rs
invoke_handler registry
ai.rs · ai_generate
stream command
pipeline.rs
generatePipeline command
documents.rs
import/export
resume.rs
structured extract
cover_letter.rs
research + leakage
ai_generations.rs
save/list
boards.rs
catalog/login
scrape · scrape_url
run scrape
1
match_resume.rs
match score
1
autopilot cmds
workflow/run
cli_agents.rs
agent status
support.rs
diagnostics
profile_import.rs
LinkedIn import
data.rs
backup/restore
ai_provider::resolve
strict provider routing
pipeline::Completer
stage orchestration
pipeline/retry
retry + regenerate
pipeline/validation
output validation
pipeline/enrichment
cover-letter research
pipeline/cache
stage cache
scraping::engine
ScraperEngine
scraping::types
Scraper trait
tray + deeplink
notify + focus
autopilot engine
workflow + scheduler
1
jobs::JobTracker
SQLite tracker
documents store
import + SQLite
extraction router
PDF/DOCX/RTF/HTML
export/pdf
canonical layout
export model/docx
DOCX + rich model
SCRAPERS
registry · 24 boards
ycombinator
Scraper · API
remotive
Scraper · API
remoteok
Scraper · API
wwr
WeWorkRemotely · API
arbeitnow
Scraper · API
berlinstartupjobs
Scraper · API
germantechjobs
Scraper · API
greenhouse
ATS · API
lever
ATS · API
adzuna/jsearch
Aggregator · API
smartrecruiters
ATS · API
personio
ATS · API
recruitee
ATS · API
ashby
ATS · API
arbeitsagentur
gov · API
linkedin
Scraper · browser
1
ollama.rs
local server
openai.rs
OpenAI / compatible
anthropic.rs
Claude API
gemini.rs
Google Gemini API
cli_agent/claude_code
headless CLI
cli_agent/codex
headless CLI
cli_agent/gemini_cli
headless CLI
OpenAI-compatible
LM Studio / vLLM…
SQLite (rusqlite)
migrations
DataStore trait
export/import
1
documents table
resumes
jobs table
postings
interactions table
per-job events
ai_generations table
generated docs
job_preferences table
saved searches
credentials
keychain index
SQLite · job vectors
vector[1024]
SQLite · résumé vectors
vector[1024]
PostingsCache
in-memory
Ollama
local · HTTP
OpenAI API
HTTPS
Anthropic API
HTTPS
Gemini API
HTTPS
LM Studio / vLLM
OpenAI-compat
Claude Code CLI
spawned process
Codex CLI
spawned process
Gemini CLI
spawned process
Chromium
chromiumoxide
Job board sites
24 boards
OS Keychain
Tauri plugin
GitHub Releases
auto-update
platform::config
env + data_dir()
net::http
rustls pooled client
error::AppError
typed errors
observability::Span
timed traces
+
−
Fit
?
critical path
external / API call
DB read/write
mount / register
fix count
bug count
Keyboard shortcuts
✕
drag
·
↑
↓
←
→
pan
wheel
·
+
−
zoom
Tab
focus next node
Enter
pin ·
Esc
clear
0
/
F
fit ·
?
toggle help