Hardware, software, and tools I use day to day. Updated when something changes; inspired by uses.tech.
Languages and runtimes
- Rust — the language I reach for when I want the compiler to catch my mistakes before users do. Powers the Whisky Collection API.
- Python — quick scripts, build tooling, and the tools site build pipeline (via uv).
- TypeScript / JavaScript — where the browser requires it. Kept minimal: no client-side framework on this site.
Web and site tooling
- Zola — static site generator, single binary, fast builds, no Node dependency at runtime. Generates this entire site.
- Tailwind CSS — utility-first CSS layered on top of the Juiced theme’s Sass base.
- Bun — JS runtime for the Tailwind build and package scripts. Faster installs than npm.
Infrastructure and deployment
- GitHub Actions — CI/CD for linting, building, and deploying all sites and apps in the monorepo.
- GitHub Pages — hosts this site. Simple, free, reliable.
- Google Cloud + Terraform — production infrastructure at FashionUnited.
- Home Assistant — smart-home platform, configured declaratively in YAML and version-controlled in the monorepo.
Development environment
- Nix — reproducible development shells. The flake pins every tool version so a fresh checkout builds identically.
- mise — polyglot toolchain manager and task runner. Primary toolchain for CI and remote agent environments where Nix is not available.
- Git — with conventional imperative-mood commits and a merge queue for the monorepo.
Quality and linting
- prek — pre-commit hook runner, used repo-wide for Markdown linting and doc-structure checks.
- rumdl — fast Markdown linter (Rust-based). Catches broken links, heading structure, and formatting before CI does.
- Playwright — browser-based test runner for the tools site.
Writing and thinking
- Markdown — all content, all documentation, everywhere.
- Obsidian — for the LLM wiki notes and longer-form thinking before it lands in the repo.