<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Engineering Playbook — API Design</title><description>API Design workbook: API fundamentals, communication patterns, architectural styles (REST, GraphQL, gRPC), security, operational concerns, worked API designs, and failure postmortems.</description><link>http://localhost:4321/</link><item><title>API Security — An Overview</title><link>http://localhost:4321/api-design/api-security-overview/</link><guid isPermaLink="true">http://localhost:4321/api-design/api-security-overview/</guid><description>The threat model: authentication, authorization, integrity, confidentiality, availability. What an API designer owns.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Security</category><category>security</category><category>threat-model</category><category>owasp</category><category>authn</category><category>authz</category></item><item><title>API Monitoring</title><link>http://localhost:4321/api-design/api-monitoring/</link><guid isPermaLink="true">http://localhost:4321/api-design/api-monitoring/</guid><description>Logs, metrics, traces, the four golden signals (latency, traffic, errors, saturation), what the on-call must see in 5 seconds.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Operational Concerns</category><category>monitoring</category><category>observability</category><category>metrics</category><category>tracing</category><category>sre</category></item><item><title>Web API Architectural Styles — Overview</title><link>http://localhost:4321/api-design/api-architectural-styles-overview/</link><guid isPermaLink="true">http://localhost:4321/api-design/api-architectural-styles-overview/</guid><description>REST, GraphQL, gRPC, SOAP, WebSocket, webhook. The catalogue, when each is right, and why every team thinks theirs is special.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Architectural Styles</category><category>api</category><category>architectural-style</category><category>rest</category><category>graphql</category><category>grpc</category></item><item><title>API Versioning</title><link>http://localhost:4321/api-design/api-versioning/</link><guid isPermaLink="true">http://localhost:4321/api-design/api-versioning/</guid><description>URI versioning, header versioning, semantic versioning. The choice that ages well vs the one that bites every quarter.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>versioning</category><category>evolution</category><category>http</category><category>rest</category><category>contracts</category></item><item><title>API Security — A High-Level Recap</title><link>http://localhost:4321/api-design/api-security-recap/</link><guid isPermaLink="true">http://localhost:4321/api-design/api-security-recap/</guid><description>The checklist: TLS, validate, AuthN, AuthZ, rate limit, audit. The mnemonic an API designer carries into every review.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Security</category><category>security</category><category>checklist</category><category>owasp</category><category>review</category></item><item><title>Authentication vs Authorization</title><link>http://localhost:4321/api-design/authentication-vs-authorization/</link><guid isPermaLink="true">http://localhost:4321/api-design/authentication-vs-authorization/</guid><description>Who you are vs what you can do. The two-word vocabulary every API designer must use precisely.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Security</category><category>authn</category><category>authz</category><category>security</category><category>identity</category><category>access-control</category></item><item><title>AWS S3 2017 — The us-east-1 Service Disruption</title><link>http://localhost:4321/api-design/aws-s3-2017-service-disruption/</link><guid isPermaLink="true">http://localhost:4321/api-design/aws-s3-2017-service-disruption/</guid><description>A typo in a maintenance command cascaded through the S3 control plane. The API&apos;s read path went down and took half the Internet.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>postmortem</category><category>Failures &amp; Postmortems</category><category>postmortem</category><category>aws</category><category>s3</category><category>control-plane</category><category>blast-radius</category></item><item><title>Caching at Different Layers</title><link>http://localhost:4321/api-design/caching-at-different-layers/</link><guid isPermaLink="true">http://localhost:4321/api-design/caching-at-different-layers/</guid><description>Browser, CDN, gateway, app, database. Where to cache, what to cache, the cache-invalidation problem the joke is about.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Operational Concerns</category><category>caching</category><category>cdn</category><category>http-cache</category><category>performance</category><category>invalidation</category></item><item><title>Binary Data Formats — Protobuf, MessagePack, Avro</title><link>http://localhost:4321/api-design/binary-data-formats/</link><guid isPermaLink="true">http://localhost:4321/api-design/binary-data-formats/</guid><description>When the wire matters more than the diff. Schema-first vs schema-less, evolution semantics, the size-vs-debuggability trade-off.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Communication Patterns</category><category>protobuf</category><category>messagepack</category><category>avro</category><category>serialization</category><category>binary</category></item><item><title>Business Considerations of APIs</title><link>http://localhost:4321/api-design/business-considerations-of-apis/</link><guid isPermaLink="true">http://localhost:4321/api-design/business-considerations-of-apis/</guid><description>APIs as products. Monetisation, partner programs, developer experience as a moat, why Stripe is Stripe.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Foundations</category><category>api</category><category>business</category><category>monetisation</category><category>developer-experience</category><category>product</category></item><item><title>Design a Chess API</title><link>http://localhost:4321/api-design/chess-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/chess-api-design/</guid><description>Game lifecycle, move validation, time control, spectator stream. The cleanest turn-based-game API in the catalogue.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>system</category><category>API Designs</category><category>chess</category><category>api-design</category><category>turn-based</category><category>sse</category></item><item><title>Design the CamelCamelCamel API</title><link>http://localhost:4321/api-design/camelcamelcamel-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/camelcamelcamel-api-design/</guid><description>Price-tracking for Amazon products. A scraper-shaped API that must respect a partner&apos;s rate limits and ToS.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>system</category><category>API Designs</category><category>price-tracking</category><category>scraping</category><category>rate-limiting</category><category>partner-api</category><category>alerts</category></item><item><title>Client-Adapting APIs</title><link>http://localhost:4321/api-design/client-adapting-apis/</link><guid isPermaLink="true">http://localhost:4321/api-design/client-adapting-apis/</guid><description>When the server shapes its response to the client (mobile vs web vs partner). The BFF pattern in API form.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>bff</category><category>mobile</category><category>web</category><category>graphql</category><category>api-design</category></item><item><title>REST vs GraphQL vs gRPC — Comparison</title><link>http://localhost:4321/api-design/comparing-api-styles/</link><guid isPermaLink="true">http://localhost:4321/api-design/comparing-api-styles/</guid><description>The honest trade-offs. Latency, payload size, tooling, debuggability, mobile-friendliness, where each one breaks first.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Architectural Styles</category><category>rest</category><category>graphql</category><category>grpc</category><category>comparison</category><category>api</category></item><item><title>Design a Comment Service API</title><link>http://localhost:4321/api-design/comment-service-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/comment-service-api-design/</guid><description>Threaded comments, pagination by cursor, moderation hooks, the reaction subsystem. The CRUD that scales to millions of nodes.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>system</category><category>API Designs</category><category>comments</category><category>api-design</category><category>threading</category><category>pagination</category></item><item><title>The Circuit Breaker Pattern</title><link>http://localhost:4321/api-design/circuit-breaker-pattern/</link><guid isPermaLink="true">http://localhost:4321/api-design/circuit-breaker-pattern/</guid><description>Closed → Open → Half-Open. Failing fast when a dependency is sick; the cascade-prevention pattern Netflix made famous.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Operational Concerns</category><category>resilience</category><category>circuit-breaker</category><category>fault-tolerance</category><category>cascading-failures</category></item><item><title>Cookies and Sessions for APIs</title><link>http://localhost:4321/api-design/cookies-and-sessions-for-apis/</link><guid isPermaLink="true">http://localhost:4321/api-design/cookies-and-sessions-for-apis/</guid><description>Stateful sessions over stateless HTTP, the SameSite / Secure / HttpOnly trio, when JWTs replace cookies and when they shouldn&apos;t.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>building-block</category><category>Operational Concerns</category><category>cookies</category><category>sessions</category><category>jwt</category><category>csrf</category><category>authentication</category></item><item><title>Data Fetching Patterns</title><link>http://localhost:4321/api-design/data-fetching-patterns/</link><guid isPermaLink="true">http://localhost:4321/api-design/data-fetching-patterns/</guid><description>Eager vs lazy, batch vs single, paginated vs streamed. The four levers every API designer pulls.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>pagination</category><category>streaming</category><category>batching</category><category>fetching</category><category>api-design</category></item><item><title>CORS — Cross-Origin Resource Sharing</title><link>http://localhost:4321/api-design/cors-cross-origin-resource-sharing/</link><guid isPermaLink="true">http://localhost:4321/api-design/cors-cross-origin-resource-sharing/</guid><description>The same-origin policy, preflight, Access-Control-Allow-*, credentials, the wildcard that breaks production.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Security</category><category>cors</category><category>browser</category><category>security</category><category>preflight</category><category>headers</category></item><item><title>Data Representation and Efficient Communication</title><link>http://localhost:4321/api-design/data-representation-overview/</link><guid isPermaLink="true">http://localhost:4321/api-design/data-representation-overview/</guid><description>On the wire, every API is bytes. The trade-off between human-readable and compact, and why both have their place.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Communication Patterns</category><category>serialization</category><category>encoding</category><category>wire-format</category><category>schema</category></item><item><title>Event-Driven Architecture Protocols</title><link>http://localhost:4321/api-design/event-driven-architecture-protocols/</link><guid isPermaLink="true">http://localhost:4321/api-design/event-driven-architecture-protocols/</guid><description>Webhooks, server-sent events, Kafka, message queues. The push-shaped alternative to request/response.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Operational Concerns</category><category>webhooks</category><category>sse</category><category>kafka</category><category>queues</category><category>event-driven</category></item><item><title>Estimating API Latency — Back-of-Envelope</title><link>http://localhost:4321/api-design/estimating-api-latency/</link><guid isPermaLink="true">http://localhost:4321/api-design/estimating-api-latency/</guid><description>Processing time + network time + queueing. The numbers every engineer should know (memory, SSD, datacenter RTT, cross-continent RTT).</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>latency</category><category>performance</category><category>back-of-envelope</category><category>capacity-planning</category></item><item><title>Evolving an API Design</title><link>http://localhost:4321/api-design/evolving-an-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/evolving-an-api-design/</guid><description>Backward-compatible additions, breaking-change taxonomy, deprecation timelines. How successful APIs survive a decade.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>evolution</category><category>deprecation</category><category>backward-compatibility</category><category>contracts</category></item><item><title>Facebook and Uber API Outages — Patterns</title><link>http://localhost:4321/api-design/facebook-and-uber-api-outages/</link><guid isPermaLink="true">http://localhost:4321/api-design/facebook-and-uber-api-outages/</guid><description>Two short case studies of cascading API failures from major social and mobility APIs. What the contract didn&apos;t say.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>postmortem</category><category>Failures &amp; Postmortems</category><category>postmortem</category><category>facebook</category><category>uber</category><category>bgp</category><category>retry-storm</category><category>control-plane</category></item><item><title>Design the Facebook Messenger API</title><link>http://localhost:4321/api-design/facebook-messenger-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/facebook-messenger-api-design/</guid><description>Real-time delivery, presence, read receipts, group threads, end-to-end encryption. WebSockets + a careful state machine.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>api-design</category><category>real-time</category><category>e2e-encryption</category></item><item><title>Design a File Service API</title><link>http://localhost:4321/api-design/file-service-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/file-service-api-design/</guid><description>Upload, download, range requests, multipart, signed URLs, resumability. The S3-shaped contract every backend reinvents.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>system</category><category>API Designs</category><category>file-service</category><category>api-design</category><category>multipart-upload</category><category>signed-urls</category></item><item><title>Design a Gaming API</title><link>http://localhost:4321/api-design/gaming-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/gaming-api-design/</guid><description>Matchmaking, lobby, real-time game state, leaderboards, anti-cheat hooks. Latency-sensitive APIs where 50 ms is everything.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>gaming</category><category>real-time</category><category>websockets</category><category>matchmaking</category><category>leaderboards</category><category>latency</category></item><item><title>GraphQL — A Query Language for APIs</title><link>http://localhost:4321/api-design/graphql/</link><guid isPermaLink="true">http://localhost:4321/api-design/graphql/</guid><description>One endpoint, client-shaped responses, the N+1 problem, schema as the contract. When the flexibility earns its complexity.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Architectural Styles</category><category>graphql</category><category>api</category><category>query-language</category><category>schema</category><category>sdl</category></item><item><title>gRPC — Protobuf over HTTP/2</title><link>http://localhost:4321/api-design/grpc-framework/</link><guid isPermaLink="true">http://localhost:4321/api-design/grpc-framework/</guid><description>Service-definition-first, code-generated clients, streaming variants, the polyglot internal-RPC story that won at Google.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Architectural Styles</category><category>grpc</category><category>protobuf</category><category>rpc</category><category>http2</category><category>streaming</category></item><item><title>Design the Google Maps API</title><link>http://localhost:4321/api-design/google-maps-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/google-maps-api-design/</guid><description>Tiles, geocoding, routing, places, distance matrix. The geospatial endpoints behind a billion daily queries.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>api-design</category><category>geospatial</category><category>cdn</category></item><item><title>HTTP — The Foundational Protocol for APIs</title><link>http://localhost:4321/api-design/http-fundamentals-for-apis/</link><guid isPermaLink="true">http://localhost:4321/api-design/http-fundamentals-for-apis/</guid><description>Methods, status codes, headers, persistent connections — the parts of HTTP every API designer must own.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>building-block</category><category>Communication Patterns</category><category>http</category><category>protocol</category><category>headers</category><category>status-codes</category><category>caching</category></item><item><title>The Evolution of HTTP — 1.1, 2, 3</title><link>http://localhost:4321/api-design/http-evolution-2-and-3/</link><guid isPermaLink="true">http://localhost:4321/api-design/http-evolution-2-and-3/</guid><description>Pipelining to multiplexing to QUIC. How each version solved the previous one&apos;s head-of-line problem and what that buys API designers.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Communication Patterns</category><category>http</category><category>http2</category><category>http3</category><category>quic</category><category>performance</category></item><item><title>The Role of Idempotency in API Design</title><link>http://localhost:4321/api-design/idempotency-in-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/idempotency-in-api-design/</guid><description>Idempotency keys, safe retries, the difference between idempotent and safe verbs. Why payments APIs care most.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>idempotency</category><category>retries</category><category>http</category><category>payments</category><category>reliability</category></item><item><title>Securing APIs Using Input Validation</title><link>http://localhost:4321/api-design/input-validation/</link><guid isPermaLink="true">http://localhost:4321/api-design/input-validation/</guid><description>Validate at the boundary, reject early, normalise once. SQL/NoSQL injection, type confusion, the OWASP API top-10.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>building-block</category><category>Security</category><category>validation</category><category>security</category><category>owasp</category><category>injection</category><category>schema</category></item><item><title>Latency and Throughput</title><link>http://localhost:4321/api-design/latency-and-throughput/</link><guid isPermaLink="true">http://localhost:4321/api-design/latency-and-throughput/</guid><description>The two performance dimensions every API designer must hold in head. The 100 ms human-perception ceiling and the throughput-vs-latency trade.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Foundations</category><category>performance</category><category>latency</category><category>throughput</category><category>tail-latency</category><category>bandwidth</category></item><item><title>Knight Capital 2012 — The 45-Minute $440M Bug</title><link>http://localhost:4321/api-design/knight-capital-2012-deployment-bug/</link><guid isPermaLink="true">http://localhost:4321/api-design/knight-capital-2012-deployment-bug/</guid><description>An un-removed feature flag (SMARS) revived dead code on one of eight servers. A trading-API contract that didn&apos;t enforce safety.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>postmortem</category><category>Failures &amp; Postmortems</category><category>postmortem</category><category>knight-capital</category><category>deployment</category><category>feature-flag</category></item><item><title>Design the LeetCode API</title><link>http://localhost:4321/api-design/leetcode-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/leetcode-api-design/</guid><description>Problem, submission, judge, leaderboard. The fan-out from problem-fetch to async judge to result subscription.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>system</category><category>API Designs</category><category>api-design</category><category>leetcode</category><category>async-judge</category></item><item><title>Managing Retries</title><link>http://localhost:4321/api-design/managing-retries/</link><guid isPermaLink="true">http://localhost:4321/api-design/managing-retries/</guid><description>Exponential backoff, jitter, retry budgets, the retry-storm that takes down a recovering service. Idempotency is mandatory.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Operational Concerns</category><category>retries</category><category>backoff</category><category>jitter</category><category>resilience</category><category>idempotency</category></item><item><title>Network Sockets — The Foundation</title><link>http://localhost:4321/api-design/network-sockets-as-a-foundation/</link><guid isPermaLink="true">http://localhost:4321/api-design/network-sockets-as-a-foundation/</guid><description>Sockets as the OS-level primitive every HTTP server stands on. Why API designers should know what&apos;s underneath.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Foundations</category><category>sockets</category><category>tcp</category><category>udp</category><category>networking</category><category>operating-systems</category></item><item><title>OAuth 2 — The Authorization Framework</title><link>http://localhost:4321/api-design/oauth-2-authorization/</link><guid isPermaLink="true">http://localhost:4321/api-design/oauth-2-authorization/</guid><description>Authorization Code + PKCE, refresh tokens, scopes, the four roles. The protocol every modern API uses and gets wrong half the time.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Security</category><category>oauth</category><category>authorization</category><category>security</category><category>tokens</category></item><item><title>OpenID Connect and SAML</title><link>http://localhost:4321/api-design/openid-connect-and-saml/</link><guid isPermaLink="true">http://localhost:4321/api-design/openid-connect-and-saml/</guid><description>OIDC layers identity on OAuth; SAML is the older enterprise SSO. When to pick each, and why both still ship in 2026.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Security</category><category>oidc</category><category>saml</category><category>sso</category><category>identity</category><category>authentication</category></item><item><title>Design a Pub-Sub Service API</title><link>http://localhost:4321/api-design/pub-sub-service-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/pub-sub-service-api-design/</guid><description>Topics, subscribers, fan-out, at-least-once vs exactly-once. The asynchronous backbone of every modern microservice mesh.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>system</category><category>API Designs</category><category>pub-sub</category><category>api-design</category><category>messaging</category><category>event-driven</category></item><item><title>Rate Limiting</title><link>http://localhost:4321/api-design/rate-limiting/</link><guid isPermaLink="true">http://localhost:4321/api-design/rate-limiting/</guid><description>Token bucket, leaky bucket, fixed window, sliding window. Per-user vs per-IP, the 429 contract, and the burst question.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Operational Concerns</category><category>rate-limiting</category><category>throttling</category><category>http</category><category>capacity</category><category>reliability</category></item><item><title>Remote Procedure Calls (RPCs)</title><link>http://localhost:4321/api-design/remote-procedure-calls/</link><guid isPermaLink="true">http://localhost:4321/api-design/remote-procedure-calls/</guid><description>Calling a remote function as if it were local. The &apos;function-call&apos; abstraction, its leaks, and where it&apos;s still the right call.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Communication Patterns</category><category>rpc</category><category>json-rpc</category><category>grpc</category><category>protocols</category><category>microservices</category></item><item><title>REST — The Architectural Style</title><link>http://localhost:4321/api-design/rest-api-style/</link><guid isPermaLink="true">http://localhost:4321/api-design/rest-api-style/</guid><description>Resources, verbs, statelessness, cache, uniform interface, HATEOAS. Fielding&apos;s PhD thesis applied to your CRUD endpoints.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>building-block</category><category>Architectural Styles</category><category>rest</category><category>http</category><category>architectural-style</category><category>api</category></item><item><title>Resource Hints and Debouncing</title><link>http://localhost:4321/api-design/resource-hints-and-debouncing/</link><guid isPermaLink="true">http://localhost:4321/api-design/resource-hints-and-debouncing/</guid><description>preload, prefetch, dns-prefetch, preconnect. Debouncing user input to API calls; the trade-off between fresh and floody.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>preload</category><category>prefetch</category><category>debounce</category><category>throttle</category><category>performance</category></item><item><title>RESTful API Design in Practice</title><link>http://localhost:4321/api-design/restful-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/restful-api-design/</guid><description>Path conventions, status codes that fit, payload shape, pagination, filtering, the bulk-operations friction every REST API hits.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>building-block</category><category>Architectural Styles</category><category>rest</category><category>api</category><category>http</category><category>pagination</category><category>design</category></item><item><title>Design a Search Service API</title><link>http://localhost:4321/api-design/search-service-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/search-service-api-design/</guid><description>Query, suggest, rank, paginate. Where latency budget lives and how to write a search API that won&apos;t go viral on the wrong page.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>system</category><category>API Designs</category><category>search</category><category>api-design</category><category>pagination</category><category>ranking</category></item><item><title>Speeding Up Web Page Loading</title><link>http://localhost:4321/api-design/speeding-up-page-loading/</link><guid isPermaLink="true">http://localhost:4321/api-design/speeding-up-page-loading/</guid><description>Critical render path, third-party blockers, what an API designer can give the front-end to win the LCP and CLS scores.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>performance</category><category>lcp</category><category>cls</category><category>web-vitals</category><category>optimization</category></item><item><title>Server-Side Rendering vs Client-Side Rendering</title><link>http://localhost:4321/api-design/ssr-vs-csr/</link><guid isPermaLink="true">http://localhost:4321/api-design/ssr-vs-csr/</guid><description>The render seam shapes the API contract. SSR&apos;s full-payload vs CSR&apos;s many-small-calls, and the hybrid in between.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>concept</category><category>Operational Concerns</category><category>ssr</category><category>csr</category><category>rendering</category><category>performance</category><category>api-design</category></item><item><title>Textual Data Formats — JSON, XML, YAML</title><link>http://localhost:4321/api-design/textual-data-formats/</link><guid isPermaLink="true">http://localhost:4321/api-design/textual-data-formats/</guid><description>The trio every API designer must read fluently. Why JSON won, where XML still lives, what YAML costs in subtle bugs.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>building-block</category><category>Communication Patterns</category><category>json</category><category>xml</category><category>yaml</category><category>serialization</category><category>schema</category></item><item><title>The API-Design Walk-through</title><link>http://localhost:4321/api-design/the-api-design-walkthrough/</link><guid isPermaLink="true">http://localhost:4321/api-design/the-api-design-walkthrough/</guid><description>A repeatable seven-step recipe for an API-design interview: requirements, endpoints, data, constraints, auth, evolution, latency.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Operational Concerns</category><category>interview</category><category>walkthrough</category><category>method</category><category>framework</category><category>recipe</category></item><item><title>Design the Stripe Payment API</title><link>http://localhost:4321/api-design/stripe-payment-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/stripe-payment-api-design/</guid><description>PaymentIntent, charge, refund, webhook, the cards-network interaction. The gold-standard for payments-API design.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>api-design</category><category>stripe</category><category>payments</category><category>idempotency</category></item><item><title>The World Wide Web</title><link>http://localhost:4321/api-design/the-world-wide-web/</link><guid isPermaLink="true">http://localhost:4321/api-design/the-world-wide-web/</guid><description>URLs, HTTP, HTML — the three-letter trio Tim Berners-Lee picked in 1989 and the rest of API design has been catching up with since.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Foundations</category><category>web</category><category>http</category><category>url</category><category>html</category><category>history</category></item><item><title>The Narrow Waist of the Internet</title><link>http://localhost:4321/api-design/the-narrow-waist-of-the-internet/</link><guid isPermaLink="true">http://localhost:4321/api-design/the-narrow-waist-of-the-internet/</guid><description>Why IP is the everything-over-IP-and-IP-over-everything pivot, and what that means for API designers building on top.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Foundations</category><category>internet</category><category>ip</category><category>networking</category><category>layering</category><category>hourglass</category></item><item><title>Transport Layer Security (TLS)</title><link>http://localhost:4321/api-design/transport-layer-security/</link><guid isPermaLink="true">http://localhost:4321/api-design/transport-layer-security/</guid><description>TLS 1.2 vs 1.3 handshake, cert chains, mTLS, the cost of a TLS terminator, why HTTPS is non-negotiable.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>building-block</category><category>Security</category><category>tls</category><category>https</category><category>security</category><category>mtls</category><category>certificates</category></item><item><title>Design the Twitter API</title><link>http://localhost:4321/api-design/twitter-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/twitter-api-design/</guid><description>Tweet, timeline, follow graph, search, streaming. The read-heavy fan-out problem at planet scale.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>api-design</category><category>twitter</category><category>fan-out</category><category>streaming</category></item><item><title>Design the Uber API</title><link>http://localhost:4321/api-design/uber-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/uber-api-design/</guid><description>Riders, drivers, dispatch, trip lifecycle, surge. Real-time matching with geospatial constraints.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>api-design</category><category>uber</category><category>geospatial</category><category>websockets</category></item><item><title>What Causes API Failures — A Taxonomy</title><link>http://localhost:4321/api-design/what-causes-api-failures/</link><guid isPermaLink="true">http://localhost:4321/api-design/what-causes-api-failures/</guid><description>Deploy bugs, capacity, contract drift, dependency outage, cascading retries. The five patterns that recur in every public postmortem.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Failures &amp; Postmortems</category><category>postmortem</category><category>failures</category><category>reliability</category><category>taxonomy</category><category>incidents</category></item><item><title>WebSockets — Bidirectional Streaming</title><link>http://localhost:4321/api-design/websockets/</link><guid isPermaLink="true">http://localhost:4321/api-design/websockets/</guid><description>Upgrade-handshake, full-duplex frames, the long-lived connection model. When push beats poll.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Intermediate</category><category>building-block</category><category>Communication Patterns</category><category>websocket</category><category>streaming</category><category>real-time</category><category>push</category><category>bidirectional</category></item><item><title>Design the YouTube Streaming API</title><link>http://localhost:4321/api-design/youtube-streaming-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/youtube-streaming-api-design/</guid><description>Upload pipeline, transcode, ABR manifests, CDN, recommendation. The biggest video service in the world, from the API&apos;s side.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>api-design</category><category>video-streaming</category><category>abr</category></item><item><title>What Is API Design?</title><link>http://localhost:4321/api-design/what-is-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/what-is-api-design/</guid><description>APIs as contracts between systems. The product-architecture lens, why API design is its own discipline, and what good looks like.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Foundational</category><category>concept</category><category>Foundations</category><category>api</category><category>fundamentals</category><category>product-architecture</category><category>contracts</category></item><item><title>Design the Zoom API</title><link>http://localhost:4321/api-design/zoom-api-design/</link><guid isPermaLink="true">http://localhost:4321/api-design/zoom-api-design/</guid><description>Meetings, participants, signalling, recording, webhooks. The video-conferencing API behind a pandemic-era infrastructure.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>Advanced</category><category>system</category><category>API Designs</category><category>api-design</category><category>webrtc</category><category>webhooks</category></item></channel></rss>