Engineering write-ups, product decisions, and the occasional opinion on how to ship developer infrastructure. Long enough to be useful, short enough that you'll finish it.

A 422 means the server understood your request and rejected the data inside it. How it differs from 400 and 415, and how to fix it.

Three AI assistants failed in the same two-hour window. The reason is worth knowing, and so is the bigger question of how much you are asking one model to do.

A data validation API tells you whether user data is real or just well formed. What each check proves, where it belongs, and what to do when one fails.

Parsing a CV is one step in a CV upload feature. What the other seven are, what to look for in a resume parsing API, and when a specialist vendor is right.

Every major TTS API takes text only, so PDF to audio means building an extraction step first. Why that step is the hard part, and how to skip it.

Rankings held, traffic fell. What SEO agencies can report in 2026, whether to buy SEO reporting software or build white label client reporting on APIs.

The fundamentals of APIs explained in plain language: what they are, how requests and responses work, what an API key is, and what it all costs.

How to use contains in XPath for text and attributes, why contains(text()) fails on nested elements, and the functions that do not exist in XPath 1.0.

API chaining feeds one call's output into the next. The patterns, what breaks, four worked examples, and how AI agents chain calls they were never given a sequence for.

A founder's account of the internal APIs and services that stay locked inside a product. Why the decision not to sell them was correct, what changed now that Claude, Cursor, GitHu…

Cloudflare blocks agent crawlers by default from September 2026 and courts are targeting the method of collection. What web scraping looks like now.

How to do OCR in Python with pytesseract, where it breaks on real documents, benchmark numbers for 6 libraries, and when to use an OCR API instead.