Topic Hub

Web development

Opinionated articles on frameworks, rendering strategies, frontend complexity, performance tradeoffs, and building faster with less unnecessary machinery.

This category is where I push back hardest on web-development fashion. Most teams are not losing because they picked the wrong trendy stack. They’re losing because they added too much machinery before they earned the complexity.

Start with these:

If you’re trying to simplify how you ship on the web, start here.

/ 3 min read

The Worst Time to Design Permissions Is After You Land an Enterprise Customer

Teams love postponing access-control design until a big customer forces the issue. By then the system already has assumptions baked into it that are painful to unwind.

Read article
/ 3 min read

Retries Are Not Reliability

Repeating a failing action can be useful. It can also multiply load, duplicate side effects, and hide the fact that the system was never designed to fail safely.

Read article
/ 3 min read

Most Teams Add Caching Before They Understand the Bottleneck

Caching can absolutely save a system. It can also freeze bad assumptions into place and make debugging harder when the real problem was never identified clearly.

Read article
/ 3 min read

Your Admin Panel Is a Security Boundary

Teams keep treating admin interfaces like internal convenience tools when they are often the most powerful and dangerous surface in the whole product.

Read article
/ 3 min read

Rate Limiting Is a Product Decision, Not Just an Infrastructure One

Teams often implement rate limits like pure backend plumbing. In reality, those limits shape user experience, customer trust, and who gets blocked when the system is under pressure.

Read article
/ 3 min read

Background Jobs Are Where Web Apps Go to Hide Complexity

Teams love pushing work into the background because the request gets faster. They forget the complexity did not disappear. It just moved somewhere less visible.

Read article