Hardening a Personal RAG Pipeline: Redaction, Prompt Injection, and Knowing When It Actually Works What I learned building a retrieval-augmented question-answering system over my own notes — and the two ugly bugs that made me stop trusting it until I could prove it was safe. A few months ago I built a small RAG service...
Building a local RAG pipeline over my Obsidian vault, and why keyword search almost didn't work In my last post I described my "home brain": an Obsidian vault that my automations keep filled with facts about my house, my servers and my projects. I ended with a promise. Because the vault is plain Markdown, I...
How a folder of plain text files became the place where my home, my servers, my automations and my AI tools all meet Most mornings, the first thing I check isn't a dashboard. It's a note. A note says whether my home server is healthy, whether the local AI models are running, and whether any...
Modernize an App on Your Lunch Break?! Note from Adam: this article was originally written in 2025 There's been a lot of conversation about using AI in software development. We all know AI isn't (yet) a total, or even reliable, solution for many problems. But used in the right context, it's a genuine game changer....
"Agentic AI" gets used to describe everything from a single chatbot with a plugin to a fully autonomous back office. This demo is representative of applications that I create at the day job: a permit review workflow modeled on how a city building department actually processes a construction permit, end to end. Don't get me...
I was interviewed by Bill Donofrio of the Chicago AI and Data group about my new project. https://youtu.be/Q3Wg6k93Ec0
How to Use AI to Respond to RFPs Let's face it: responding to RFPs can be a nightmare. Finding the right answers usually turns into a scramble that looks something like this: Check whether you've answered the question before. Find out you have answered it before, several times, in several different ways. Which answer is...
Pee Wee Termin is a 3D-printed T-800 skull with a Raspberry Pi in its chest, a GPU server as its cortex, and a rotating cast of personalities: a cranky teenager, the God of War, Shrek. My son named it. This post covers how the whole thing fits together: the hardware split, the Docker services, and...


