Setup
Uses
Languages
Python for anything with a model in it, TypeScript for anything with a browser in it.
- Python
- TypeScript/JavaScript
- Java
- SQL
AI & machine learning
Retrieval and document extraction in production, plus the evaluation and guardrails that keep them honest.
- Retrieval / RAG
- LLM/VLM document extraction
- Evaluation
- Guardrails
- Inference serving
- LangChain
- DSPy
- NeMo
- NIM
- vLLM
- PyTorch
Backend
FastAPI for new services, Spring Boot where the estate is Java, Postgres with pgvector underneath both.
- FastAPI
- Spring Boot
- REST APIs
- gRPC
- PostgreSQL/pgvector
Frontend
Enough to ship the interface a service needs without handing it to someone else.
- React
- Next.js
- Tailwind
Infrastructure
Containers, a pipeline, and a machine somewhere that has to keep running.
- Docker
- Kubernetes
- AWS
- Azure
- Linux
- CI/CD
- Airflow
Environment
One clone of my homebase repo plus make install, and a new machine behaves like the one I left. It carries the zsh, git, nvim, tmux and ghostty config, the agent skills and hooks, and per-machine module selection — with launchd units on macOS and systemd units on Linux.
- Neovim
- zsh
- tmux
- Ghostty
- git
- Make
- Claude Code
- macOS + Linux