Your API Was Designed for Servers, Not Clients
Most APIs are designed from the data model out. Clients need action-oriented, client-shaped responses. N+1 and over-fetching aren't frontend failures.
Tag
23 posts on Architecture
Most APIs are designed from the data model out. Clients need action-oriented, client-shaped responses. N+1 and over-fetching aren't frontend failures.
LLMs have finite context. Managing what goes in — and when — is now a first-class engineering concern, not a prompt hack.
Engineers pipe LLM output into downstream systems as if it were structured data. It isn't. That mismatch is a whole class of production bugs.
The polyrepo vs monorepo debate seemed like a draw for years. It isn't anymore. The tooling closed the scalability gap and AI development broke the balance.
Application code that breaks can be rolled back in seconds. A migration that breaks has already changed your data. Migrations deserve more caution than any other code in your pipeline — and usually get less.
Retries, timeouts, and health checks are supposed to make systems resilient. Configured naively, they turn a recoverable blip into a self-sustaining outage. The resilience code becomes the incident.
When you give an AI agent access to your tools, you've created a privileged insider. The threat model is different from a compromised service — because the agent acts non-deterministically, at scale, on your behalf.
A 10-step AI agent pipeline at 90% per-step reliability succeeds only 35% of the time. This is the compounding reliability math that explains why 78% of companies run pilots but only 14% ship agents to production — and the architecture that closes the gap.
Traces, metrics, and logs were designed for deterministic systems. When an agent makes 40 tool calls across three services to complete a task, your existing observability stack tells you almost nothing useful.
In 2002, SQL injection was a known attack that most developers dismissed as someone else's problem. By 2010 it was the top cause of data breaches. Prompt injection is at the 2002 stage. The trajectory is the same.
AI agents don't make your messy codebase invisible — they make it expensive. When 78% of Claude Code sessions involve multi-file edits, your architecture quality is no longer a code-quality concern. It's a cost and velocity concern.
Long-running agents fail 90% more often without state persistence. This is the memory architecture — working, episodic, semantic, procedural — that makes stateful AI production-ready.
Shared cluster, isolated tenants, write-through pipelines, and the index design choices that decide whether you scale or burn down.
Most teams use feature flags wrong. They become permanent if/else branches that calcify into chaos. Here's the discipline that fixes it.
Microservices are an organizational solution to a coordination problem you don't have yet. Here's when they actually help — and when they're a foot-gun.
Your dashboards are slow. Engineers want ClickHouse. The CFO is nervous. Here's the real decision framework.
Three queueing options with very different cost, throughput, and operational profiles. Pick the wrong one early and you'll re-platform later.
Claude 4 didn't get stupider. Your safety layer is failing. How to identify when the problem is your architecture, not the LLM.
Rewrites sound good in theory. In practice, 75% fail. Here is how to tell if yours is the 25%.
Every missed deadline traces back to decisions made years ago. A CFO's guide to understanding why your code is expensive and how to budget for it.
Ten months after MCP went multi-vendor, most teams are still treating it as a nicer function-calling wrapper. That's the wrong mental model — and it's quietly producing architectures that don't scale.
A MAST taxonomy of 1,600+ execution traces maps 14 failure modes across 3 root causes. The model is almost never the problem. The orchestration architecture almost always is.
82% of AI teams say prompt engineering alone isn't enough. The ones succeeding in production are treating context design the same way they treat database indexes — as an architectural decision, not a prompt trick.