About
southpawriter is the personal site of Ryan Goodrich: technical writer by trade, C# developer by stubbornness, AI researcher by curiosity, and the kind of person who writes the documentation before the code exists. Left-handed, naturally.
What You've Wandered Into
This is the intersection of three obsessions that refuse to stay in their own lanes:
- Technical writing, or the belief that if you can't explain it clearly, you don't understand it yet
- AI research, specifically the gap between what we're told AI can do and what happens when you actually try it
- Developer tooling, as in building the tools you wish existed the last time you needed them
The site has two main sections. The Blog is the thinking-out-loud part: chronological, opinionated, occasionally salty. You'll find posts about llms.txt research, RAG pipeline design, dungeon crawlers, and the quiet existential crisis of being a C# developer in a Python-dominated AI world. The Docs section is the reference library (glossary definitions, project overviews, how-to guides), organized for people who already know what they're looking for.
The Docs-First Thing
Every project on this site begins the same way: with a Markdown file describing something that doesn't exist yet.
This sounds like a process quirk. It is not. Writing a clear specification for a bad idea is remarkably difficult. The spec fights back. It asks uncomfortable questions. It exposes assumptions you were quietly hoping to sneak past yourself. By the time the documentation can stand on its own, you know two things: whether the project is worth building, and exactly what you're building. In software circles, this is called documentation-driven development. In practice, it's less a methodology and more a compulsion masquerading as discipline.
The side effect is a lot of Markdown files. The upside is very few "wait, what is this supposed to do again?" conversations.
The Projects
Thirteen active projects across four domains, each one the result of some prior project revealing a gap that needed filling. The full roster lives in the Projects section; here's the elevator pitch:
AI & LLM Research. LlmsTxtKit parses, validates, and generates context from llms.txt files (with an MCP server, because of course it has one). DocStratum lints llms.txt files against the spec, basically ESLint for a standard defined by a blog post. FractalRecall explores whether metadata should shape how data gets embedded, not just how it gets filtered after. Haiku Protocol compresses verbose documentation into dense, machine-optimized shorthand, because context windows are expensive and prose is fat.
Tech Writing & AI Tooling. Lexichord orchestrates AI for technical writers: terminology, style, audience, the whole editorial stack. Not a chatbot with a style guide duct-taped on. Sidekick is a JetBrains Rider plugin with local-only AI: chat, code generation, and eight specialist agents, zero cloud, zero data exfiltration. Tinfoil hat not included but spiritually present.
Developer Tooling. lint-my-lines enforces quality standards on code comments, because if your code is linted your comments should be too. Error Glossary explains why errors happen, not just how to make them stop. git-chronoscope turns Git history into time-lapse visualizations. shell-spec is a testing framework for shell scripts, written in shell script, which is exactly as chaotic as it sounds. Circus turns a fresh Mac into a fully configured dev environment in one command.
Games & Creative Coding. Rune & Rust is a text-based dungeon crawler that's really a design-pattern playground wearing a chainmail disguise. Camelot Combat Reporter parses Dark Age of Camelot combat logs into performance breakdowns, because some habits from 2003 never die.
The Research
The llms.txt standard, proposed by Jeremy Howard in late 2024, has a fascinating problem: the AI systems it's designed to serve keep getting blocked by the security infrastructure that protects the sites hosting them. Adoption is real but concentrated — community directories list hundreds of implementations, with notable adopters like Anthropic and Cloudflare, but penetration outside the developer-tools ecosystem is still thin. Web Application Firewalls don't care about your good intentions. No major AI provider has confirmed they actually use llms.txt at inference time. Competing standards are emerging with overlapping scope and incompatible approaches.
This site documents that research as it unfolds, including a paper on the access paradox and an empirical study measuring whether curated llms.txt content actually produces better AI responses than raw HTML. (Early results: it's complicated. Isn't it always.)
Connect
- GitHub: southpawriter02
- LinkedIn: ryan-goodrich-mpc
- RSS: Blog feed (for people who remember what RSS is and refuse to let it die)