<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Frank Thomas</title><description>Notes on building software, running engineering teams, and the parts that overlap.</description><link>https://frankthomas.dev/</link><item><title>Rate Limits, Retries, and the Hidden Accuracy Killer in LLM Pipelines</title><link>https://frankthomas.dev/blog/rate-limits-hidden-accuracy-killer/</link><guid isPermaLink="true">https://frankthomas.dev/blog/rate-limits-hidden-accuracy-killer/</guid><description>We spent weeks investigating a 6% accuracy variance in our document extraction benchmarks. The root cause wasn&apos;t the model, the prompts, or the routing.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate></item><item><title>Why Heuristic Routing Fails on Long Documents</title><link>https://frankthomas.dev/blog/why-heuristic-routing-fails-long-documents/</link><guid isPermaLink="true">https://frankthomas.dev/blog/why-heuristic-routing-fails-long-documents/</guid><description>When a 120-page insurance policy goes through document extraction, the AI only sees fragments. How those fragments are selected determines everything.</description><pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate></item><item><title>Benchmarking Document Extraction: How We Measure Accuracy Across 653 Documents</title><link>https://frankthomas.dev/blog/benchmarking-document-extraction/</link><guid isPermaLink="true">https://frankthomas.dev/blog/benchmarking-document-extraction/</guid><description>Every document extraction vendor claims 95%+ accuracy. None of them publish how they measure it.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>Schema-Driven Extraction: Configuration Over Code for Document AI</title><link>https://frankthomas.dev/blog/schema-driven-extraction/</link><guid isPermaLink="true">https://frankthomas.dev/blog/schema-driven-extraction/</guid><description>Most document extraction relies on prompt engineering. Schema-driven extraction replaces hope with a contract.</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate></item><item><title>Documents are a data source. Treat them like one.</title><link>https://frankthomas.dev/blog/documents-as-a-data-source/</link><guid isPermaLink="true">https://frankthomas.dev/blog/documents-as-a-data-source/</guid><description>Most extraction projects fail because teams treat the document as the artifact instead of the schema.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Docs-first development with AI agents</title><link>https://frankthomas.dev/blog/docs-first-development-with-ai-agents/</link><guid isPermaLink="true">https://frankthomas.dev/blog/docs-first-development-with-ai-agents/</guid><description>Most teams using AI agents do code-first, doc-later. We do the opposite, and it&apos;s working better than expected.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>We built for flexibility. It caused chaos.</title><link>https://frankthomas.dev/blog/built-for-flexibility-caused-chaos/</link><guid isPermaLink="true">https://frankthomas.dev/blog/built-for-flexibility-caused-chaos/</guid><description>Notes from a v1 to v2 rewrite — what happens when you build a system that can do anything and nobody can explain what it does.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Small teams and the monolith</title><link>https://frankthomas.dev/blog/small-teams-and-the-monolith/</link><guid isPermaLink="true">https://frankthomas.dev/blog/small-teams-and-the-monolith/</guid><description>An apology to my younger self for splitting an eight-person team across nine services.</description><pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The document extraction pipeline: we tried everything</title><link>https://frankthomas.dev/blog/the-document-extraction-pipeline-we-tried-everything/</link><guid isPermaLink="true">https://frankthomas.dev/blog/the-document-extraction-pipeline-we-tried-everything/</guid><description>AWS Textract, Google Document AI, RAG pipelines, LlamaIndex — a tour of everything we used before deciding to build our own.</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Writing more in 2026</title><link>https://frankthomas.dev/blog/writing-more-in-2026/</link><guid isPermaLink="true">https://frankthomas.dev/blog/writing-more-in-2026/</guid><description>New year, new excuse. I&apos;m going to try journaling in public about the work.</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate></item></channel></rss>