Architecture
A job earns each stage before it reaches the next.
The pipeline is a fixed sequence of stages, each reading one file and writing another. Deterministic code does everything it can for free; the model is spent only where judgment is genuinely required.
Hover or focus a stage to see its purpose, inputs, outputs, and why it exists.
Discover
Query every enabled provider with one segmented search per work-mode tier, then merge the results.
- Inputs
- Your profile targets · provider config · weekly/monthly quota
- Outputs
- raw.json — every job the providers returned
Why it exists
Sourcing is plain code. It costs zero tokens, so no model call is spent on a job that hasn't even been deduplicated yet.
No server. No database.
The filesystem is the message bus.
Every pipeline stage reads one JSON file and writes another, under a dated run directory. That makes every run inspectable, resumable, and cheap to re-run — unchanged inputs hit the cache, not the model.
There is nothing to deploy and nothing to keep running. The state of your search is a folder you can read, diff, and delete.
-
.careeros/profile.yamlSource of truth #1 — your facts -
.careeros/config.yamlProviders, thresholds, prompt versions -
.careeros/cache/Fingerprinted AI outputs, reused across runs -
.careeros/runs/<date>/01_discover/…Every stage, numbered, on disk -
.careeros/runs/<date>/06_evaluate/<job-id>.jsonSource of truth #2 — the fit judgment