Most of the plumbing behind my workflow lives here: NixOS roles, Home Manager modules, Neovim, and scripts.
Projects
Things I've built, mostly open source.
Turn TypeScript data models into diagrams with automatic layout, then rearrange nodes and export to SVG.
My personal document syntax has a Tree-sitter grammar, a Go library, and Neovim support.
Write TypeScript automations in global or project-local repos; parameters become interactive prompts.
Nested Zod schemas type event names and payloads; wildcard payloads are unknown, and validation is optional.
benchmate auto-selects timers and batch sizes, then returns or prints JavaScript benchmark metrics.
An experimental proxy-based React store supports direct mutation and avoids unrelated rerenders with selectors.