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.
The Augmented Dev ยท Archive
Dynamics 365, Power Platform, AI, system design, and web development โ filter by theme or search across every post.
Newsletter
One email per post. No spam, no tracking pixels, unsubscribe anytime.
10 of 179 articles tagged web-dev
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 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.
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.
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.