Designing Webhook Delivery That Survives Flaky Consumers
Signing, retries, ordering, and dead-lettering: the design decisions that separate reliable webhook delivery from silent event loss.
Theme
System design, modern web development with Next.js, React, .NET, Azure, and practical coding guides.
14 articles
Signing, retries, ordering, and dead-lettering: the design decisions that separate reliable webhook delivery from silent event loss.
The hardest part of React Server Components isn't the syntax — it's knowing which kind of component you're writing and why. Here is the mental model that makes the boundary obvious.
The like button that responds before the server confirms feels instant. The trick is updating the UI first and reconciling later — and handling the rollback so you never mislead the user.
A synchronous plug-in runs inside the user's transaction with a hard time limit. One slow query or external call can break saves for everyone. Here is how to keep plug-ins fast and safe.
A search box that fires a request on every keystroke, a scroll handler running 60 times a second — these are debounce and throttle problems. The concepts are simple; React makes them subtly tricky.
PPR was the experimental flag in Next.js 15; in 16 it's been folded into Cache Components. Learn how static shells and dynamic holes work, how to migrate incrementally, and how to measure the LCP gains.
A practical guide to the features that changed how we build React apps — Server Components, the new compiler, and the patterns that stuck.
A step-by-step guide to building a live-updating dashboard using Next.js API routes, Server-Sent Events, and Supabase Realtime — with reconnection handling and smooth UI transitions.
A detailed comparison of Azure Functions and Azure Container Apps — pricing, cold starts, scaling, runtime support, and a decision flowchart for picking the right one.
Why every public API needs rate limiting, the four main algorithms compared, implementation in Next.js with Redis, proper HTTP headers, and Azure API Management policies.
A practical comparison of session-based auth, JWT auth, and OAuth 2.0 / OIDC — how each works, when to use them, security pitfalls, and recommended patterns for SPAs, server apps, and mobile.
A clear-eyed look at Command Query Responsibility Segregation — what it actually is, how to implement it in .NET, when it pays off, and when it's unnecessary complexity.
A practical guide to breaking apart a monolith into microservices — identifying boundaries, splitting the database, handling data consistency, and avoiding the traps that turn your migration into a distributed monolith.
A step-by-step guide to diagnosing and resolving NuGet package source errors in Visual Studio and dotnet CLI.