our favourite tools
The tools that survive on this machine after a year of shipping LLM features. Hand picked, actually used, zero affiliate links.
Everything below is installed on the machine this site is written on. Nothing is sponsored, nothing pays a referral, and anything that stops earning its place gets removed from this page the same week.
for working with models
Ollama. Local models with a one-line pull. The fastest way to find out whether a small model can do your job before you commit to an API bill.
LM Studio. Same idea with a GUI, and the easiest way I know to hand a local model to a teammate who does not live in a terminal.
promptfoo. Evals as config. Point it at your prompts, give it assertions, run it in CI. This is the tool I wish I had before the $400 retrieval incident.
tiktoken. Count tokens before the API does. Budget arguments end faster when both sides run the same tokenizer.
for the plumbing around them
jq. Twenty years from now there will still be a JSON blob that needs surgery, and jq will still be the scalpel.
ripgrep. Grep, but it finishes before you look away. Most of my "where does this prompt actually get built" questions are one rg away.
hyperfine. Benchmarks with warmup runs and statistics, so "it feels faster" becomes a number.
Bruno. An API client whose collections are plain files in your repo. Request history that survives your laptop is the feature; everything else is a bonus.
for the diagrams
Mermaid. Every diagram on this site is a mermaid file rendered to an image at build time. Diagrams in text, in git, in review, like code.