Blog

Deep-dive guides on AI agents, agent orchestration, MCP, and developer tooling.

7 posts found

API Design

REST vs. RPC-Style API Design: The Tradeoffs Nobody Puts in the Style Guide

Most "REST APIs" in production are actually resource-shaped RPC — here is what you really give up or gain by choosing REST, JSON-RPC, gRPC, or tRPC for a given piece of your system.

September 28, 2026 · 6 min read
API Design

Designing Sane Pagination: Why Offset Breaks Under Writes and Keyset Fixes It

LIMIT/OFFSET pagination silently duplicates and skips rows the moment writes happen concurrently, and gets slower the deeper a client pages. Here is why, and how keyset (cursor) pagination avoids both problems.

September 20, 2026 · 6 min read
API Design

OpenAPI Spec-Driven Development: The Contract That Keeps Your API and Docs From Diverging

Code-first and spec-first OpenAPI workflows fail in different ways — and neither prevents contract drift unless linting and contract tests are actually wired into CI.

September 7, 2026 · 5 min read
API Design

Webhook Signature Verification: How Stripe, GitHub, and Svix Actually Stop Forged Events

A webhook endpoint is just a public URL that runs code when it receives a POST — which means anyone who finds it can send you fake events unless you verify the signature correctly, including the two checks most implementations skip.

August 11, 2026 · 6 min read
Data Formats

JSON Schema in Practice: What allOf, oneOf, and additionalProperties Actually Do

JSON Schema looks like static typing for JSON, but its composition keywords follow evaluation rules that trip up most people writing their first real-world schema — here's the mental model that actually holds up.

August 10, 2026 · 6 min read
API Design

Idempotency Keys: Why 'Just Retry the Request' Breaks in Production

A dropped connection makes a client retry a POST that already succeeded — without an idempotency key, that retry becomes a duplicate charge, not a safety net. Here's how the pattern actually works and where naive implementations fail.

July 15, 2026 · 6 min read
Data Formats

NDJSON vs JSON Arrays for Streaming: Why the Trailing Bracket Is the Problem

A JSON array requires seeing the closing bracket before any of it is valid — which is exactly what breaks when you stream millions of records. Newline-delimited JSON fixes that by making every line a complete, independent document.

July 13, 2026 · 6 min read