AI systems, model internals, and AI-assisted engineering.
I build close enough to the machine that the abstractions have to show their receipts. My center of gravity is the machinery beneath language models: tokenization, tensor and memory layout, attention, training and inference loops, checkpoints, routing, and runtime behavior.
An AI can write code. It cannot own the project.
I use coding agents as engineering tools. Ownership still means choosing the goal, stating the constraints, reviewing the diff, testing where the software actually lives, and rejecting the elegant abstraction that quietly murdered the useful part.
- Tater Tot (private, active research) — a byte-level language-model lab built around a handmade C11 dense causal Transformer, C++17 training and inference tools, and an optional LibTorch experimentation path. It keeps tokenization, autodiff, attention, optimization, checkpointing, and sampling inspectable; MoE remains future work.
- tot — the public design seed for a low-level Transformer framework: a planned C model core, C++ text tooling, and Python experiments. It is early, deliberately plain, and labeled according to what exists today.
- Wayfinder — an early Python and Hugging Face prototype for using a local language model to choose a useful web destination or next browsing action.
- Dungeoning a Dragon — an offline C++20 and Qt 6 character builder with a tested rules engine and explicit coverage for Original B/X plus bounded, versioned 5E (2014) and 5.5E (2024) modules.
- The Macintosh — a clean-room Electron recreation of the classic black-and-white Macintosh desktop language, with a persistent Finder, virtual disk, Calculator, and page-oriented word processor. Not an emulator; not a retro skin.
- hover-zoom — a Safari and Tampermonkey media-preview userscript with hover previews, pinning, a draggable and resizable popout, regression tests, and CI.
- Define the behavior and the constraints that actually matter.
- Use models to reason, inspect, implement, and refactor.
- Review the change and test it in the target environment.
- Keep what survives reality. Reject what only looked convincing in the prompt window.
AI assistance moves the bottleneck from typing toward architecture, evaluation, debugging, and judgment.
A model is not magic. It is memory and computation arranged carefully.
A coding agent is not ownership. It is leverage.
If something I have made has been useful to you, you can support my work on Ko-fi.