skip to content

Job statuses — track your own pipeline, locally

Once you've matched against more than a handful of roles, you need somewhere to track what you've actually done about each one. Job statuses are that pipeline — and, like everything else, it never leaves your machine.

The funnel

Status How it's set
clicked Automatic, the moment you open a job link
applied You mark it explicitly
saved You mark it explicitly
dismissed You mark it explicitly

clicked is deliberately never upgraded to applied on its own — Terminalhire can see that you opened a link, not what you did on the employer's site, so it never claims to know more than that.

Commands

terminalhire jobs                          # your matches, statuses shown inline
terminalhire jobs --stable                 # same list every run, in pure rank order
terminalhire jobs --status applied         # filter to one status
terminalhire jobs mark <id> applied        # applied | saved | dismissed
terminalhire save <jobId>                  # shortcut: save a job
terminalhire saved                         # list everything you've saved
terminalhire unsave <jobId>                # remove a saved job

A job you dismiss drops out of your default views (spinner and jobs alike) — reachable again only with an explicit --status dismissed — so your list stays about what's still open, not what you've already ruled out.

Bare jobs rotates; paging does not

Run terminalhire jobs twice and you'll see different roles. Roles you were shown recently sink and un-shown ones lead, so the list works down your matches instead of restarting at the top every time. Nothing is dropped — the count is still every role that matches you, just in a different order.

--page N, --all and --status deliberately keep pure rank order over one frozen snapshot: a rotating page 2 would show a different slice than the page 1 you just read. --stable gives you that same fixed order on the bare view when you want to look at exactly the list you saw a minute ago.

Which roles you've been shown is recorded in a local file and never leaves your machine — same as your statuses.

The CLI is the single source of truth

Status lives in one place: the CLI, in a local file on your machine. The /dashboard view on terminalhire.com mirrors clicked/dismissed as browser-local state for convenience, but it's a read-only view — it never becomes a second, conflicting pipeline. There is no server-side record of which jobs you've applied to, saved, or dismissed: nothing to leak, nothing to sync, nothing a breach could expose.

Why it matters

An "applied 5 this week" count that's actually true — because it's computed from your own explicit actions, not inferred — is worth more than one that guesses. See Privacy architecture for how this fits the broader local-first design.