Skip to content

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.

Deterministic — plain Python, zero tokens AI reasoning — read prompt, write file Output — what you open and act on
careeros daily — a real run starting
Doctor checks, then discovery: providers fetched live, jobs deduplicated, nothing spent yet — every stage below is what happens next.

Hover or focus a stage to see its purpose, inputs, outputs, and why it exists.

Deterministic01 / 09

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/
  • .careeros/profile.yaml Source of truth #1 — your facts
  • .careeros/config.yaml Providers, 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>.json Source of truth #2 — the fit judgment