Kept

2026

What it is

For years my work history lived scattered across platforms. Effort spent on disposable artifacts, inside walled gardens I couldn’t read into.

This project reverses the arrangement. My career is stored as a garden — a pile of short markdown files I tend over time, not a single résumé document.

How the garden works

ingest resume/bullet tag find signals store
Tags — an open vocabulary that describes PRIMARY (specific — tools, projects, deliverables) and SECONDARY (broad capability)

The tagger reuses the vocabulary already in the garden, so the tag space stays coherent instead of sprawling. It runs on everything that enters; a retag is deliberate.

Signals — a closed vocabulary that certifies A fixed capability set (design-systems, brand-system-scale, visual-craft). The prompt asks not "what is this about?" but "what is this credible evidence of?"

0–4 per bullet, fail rather than reach — a missing signal is better than a wrong one. I extend the vocabulary by editing the definitions, not by letting the model invent; one command relabels the corpus against the new list.

JD matching

The garden can be projected: a job description runs through a local LLM (qwen via Ollama), which scores every bullet against it and reports both the matches and the gaps — what the job asks for that the garden can’t yet prove.

JD analyze match export + gaps

I measured each scoring layer against bullets I’d marked by hand:

keyword overlap — literal words a bullet shares with the job carried the selection
capability signals — the closed vocabulary; evidence, not aboutness carried the selection
breadth of coverage — how many of the job's needs one bullet meets a smaller nudge
embeddings — matching on meaning rather than words dropped from the ranking — nothing moved

The principle the whole thing runs on: trust the layer you can read. Words that match, and a vocabulary I can see in full and change, carry the load.

The engine, the code, and a longer write-up are on GitHub.

Image of the garden
Image of the garden