← All projects

Career Workbench / Local web application

A good resume starts before the writing.

The useful work is often missing from the first account: an unwritten responsibility, a difficult handoff, a decision that helped someone else deliver. Career Workbench helps recover that experience, understand what it supports, and turn it into a clear professional story.

Python · FastHTML · HTMX · SQLite · Codex app-server · MCP · Typst

THE PRODUCT

One working record. Several ways forward.

Start with notes, a resume or a conversation. The agent can ask a useful follow-up, organize evidence, compare career directions, propose development work, or draft a profile for a particular audience. Direct editors use the same records, so a precise correction does not depend on another model call.

01Discover

Recover overlooked work through short, adaptive interviews.

02Make sense of it

Separate contribution, shared credit, outcomes and unknowns.

03Choose a direction

Compare evidence gaps and plan work that demonstrates useful capabilities.

04Compose and review

Develop distinct profiles, inspect their sources and check the actual PDFs.

FOLLOW THE EVIDENCE

A correction should travel as far as the claim.

Step through a fictional account, its correction and a revised profile. The important behavior is what happens to the records and drafts that depend on it.

ORIGINAL WORDS

I helped keep the schedule up to date. The program lead owned it.

Shared contribution retained

Use the narrower claim in a new draft. Review the wording, inspect the rendered page, and retain both document versions with their source snapshots.

Working profile · draft 2

Supported the weekly volunteer schedule alongside the program lead.

Technical validation and editorial judgment remain separate. A clean PDF can still contain weak copy.

Fixed, self-authored fictional example. This illustration contains no personal career records and makes no model calls.

ENGINEERING DECISIONS

Let the agent reason. Make the record dependable.

A frontier model inside a bounded workflow

Codex supplies the reasoning and tool loop. Workspace-bound MCP tools handle records, corrections and rendering. The host disables general shell and filesystem tools; each conversation resumes its own thread.

Facts keep their qualifications

Original sources remain immutable. Claims retain quotation spans, ownership and limitations. A correction retires the old claim and flags dependent profiles and planning records, while historical exports retain their snapshots.

Large histories stay navigable

The agent starts with an overview and retrieves selected records in bounded pages. It can inspect a claim and its exact source without loading an entire career archive into every response.

The rendered page is part of the workflow

Typst produces tagged PDFs. Checks cover text, metadata, links, fonts, page limits and short wrapped lines; optional bottom-fill and independent PDF/UA validation make additional requirements explicit.

Progress survives the page

Background jobs persist visible events, results and failures. Refreshing the browser does not start another model call. Stop requests interrupt model work while retaining changes already saved.

QUALITY

Passing a check is a beginning.

Automated tests exercise source identity, attribution boundaries, corrections, isolated workspaces and document output. Browser checks cover actual forms and review flows in Chromium and Firefox. Separate live exercises use fictional accounts to inspect the agent’s choices and resulting records.

A quote can be present in a source without supporting the proposed claim. A valid PDF can still tell an unconvincing story. Editorial review therefore considers relevance, coherence, attribution, scope, copy and geometry separately.

USE IT LOCALLY

Your browser is the interface.

With the prerequisites installed—including an already authenticated Codex CLI—clone the repository and start the web app:

git clone https://github.com/russedavid/career-workbench.git
cd career-workbench
uv sync --frozen
uv run career-workbench web

Open http://127.0.0.1:5010. Create a workspace, add source material, and start a conversation. The README covers dependencies and model selection; the usage guide walks through discovery, drafting, corrections and PDF review.

Records stay in a private local directory outside the code checkout. Agent conversations use the saved Codex CLI login and send relevant context to the selected model. This is a localhost application, not a hosted public demo.

Start with the work. Keep the evidence.

Explore the fictional examples or bring your own material into a private workspace.