Senior career moves are high-effort and fragmented: roles are scattered across ATS feeds, descriptions are noisy, applications lose their evidence trail, and interview or offer context ends up in separate tools. Most AI writing tools make it worse by inventing claims. ZenGrowth keeps the journey — from discovery and grounded applications through interviews, offers, onboarding, and departure — in one local, auditable workspace.

The loop

The first loop is cost-aware and audited. Discovery pulls roles from public Greenhouse and Lever JSON feeds only — no scraping — or takes a pasted job description. Dedup and precheck drop duplicates and archive obvious non-targets with no LLM cost. Scoring returns per-dimension scores across roughly ten dimensions, a rationale, and an expected value — a deterministic, explainable ranking signal rather than a black-box number. Generation produces a tailored CV and cover letter, and review lets you request plain-language changes before marking materials final.

The workflow now continues beyond the application. Interview timelines, prep packs, debriefs, and follow-up drafts preserve context; offer extraction and evaluation support a human decision; accepted roles can become a 30/60/90-day onboarding plan, while departures can produce a structured handover pack.

Grounding as a hard gate

The load-bearing design decision: generated claims must map to verified evidence. Any number or named entity a draft can’t trace back to approved evidence is blocked — not softened, blocked. CV tailoring is structure-preserving: it realigns the summary and reorders evidence-backed lines instead of rewriting your history into something you’d have to defend in an interview.

If a draft can’t trace a claim to evidence, the claim doesn’t ship.

Local-first, fail-closed

SQLite and local files keep your data on disk; it leaves your machine only on the LLM and discovery calls you explicitly trigger. Keys are encrypted at rest, credentials use hardened password hashing, and the internal-only FastAPI app fails closed without operator credentials behind a single nginx edge. A default-off daily spend cap bounds cost, an ingestion heartbeat and readiness probe watch reliability, and material workflow activity is recorded for inspection. Ruff, backend tests, and frontend checks run in CI.

The transferable idea

Grounding gates aren’t job-search-specific. Any generative system that drafts on your behalf — reports, bids, applications — can hold the same line: draft only from verified evidence, block what can’t be traced, and log everything so decisions can be reconstructed. ZenGrowth is the small, complete worked example of that discipline, wrapped around a problem almost everyone eventually has.

ZenGrowth is a working system under prospective evaluation. It assists discovery and drafting — it does not promise interviews, offers, or job outcomes. Generated materials are drafts for human review, performance and cost figures are project targets rather than benchmarks, and the example names and companies in the public repo are synthetic fixtures.

Under the hoodPython, FastAPI, SQLModel, React 19, Claude, Tavily, SQLite, Docker, nginx, GitHub Actions.