Writing
Notes on software, spec-driven development, and working with AI agents.
Building an LLM inference server from scratch
An ongoing series. A tiny GPT and the server that runs it fast under load, built by hand and measured honestly. No vLLM, no TGI.
- 1Building an LLM inference server from scratchOct 25, 2026
My next build-in-public project: an LLM inference server from scratch. Starting with the one idea the whole thing rests on, why batching is the whole game, derived on my own GPU.
Building a RAG agent from scratch
An ongoing series. Building a retrieval agent over my own notes by hand, no frameworks, one piece at a time.
- 1ChunkingOct 16, 2026
My first chunker passed every test I wrote, then scored 85/100 on a quality metric I built for it. Here is how I got it to 100, and what chunking actually decides in a RAG system.
- 2EmbeddingsOct 17, 2026
I benchmarked five embedding models on my own notes instead of a leaderboard. The 1.5B model took nine hours to tie a free one I run in under a minute. Here is why.
- 3Retrieval and vector searchOct 20, 2026
The actual vector search is four lines. Figuring out whether it worked took the rest of the post: a broken eval, two popular fixes that flopped, and a CTO's comment that beat everything I built on my own.
- 4The agent loopOct 21, 2026
The piece I built the whole project to understand, and it turned out to be about twelve lines: one tool, a while loop with a stop condition, and the unglamorous guards that make it something you would actually run.
- 5EvalOct 21, 2026
Eval turned out to be the quiet main character of the whole series: two numbers, a test I had to make honest before I could trust it, and the thing that settled every call by measurement instead of vibes.
- ✓RecapWhat I learned building a RAG agent from scratchOct 22, 2026
Five parts, every piece built by hand, in one place: what I built, what I got wrong, and the handful of lessons that actually stuck.
Other posts
Closed accounting periods are immutable, so you can cache a financial dashboard for free and never serve a stale figure. The closed-period trick, the as-of snapshot, the deploy gotcha, and the test that keeps it honest.
Alberta published 21 open-source papers on how it used Claude to modernize its code estate. A working engineer's read on Pronghorn, the harness, the security agents, and the stack.
External context can enter your build at two points: spec time or build time. Why I treat that as a delegation decision, not a speed one.
- CloudInsights.ai: From Capstone to SaaSSep 12, 2025
Four months before our capstone started, we had a client, a plan, and a full prototype. Then, on the first day of semester four, it all disappeared.