Back to Blog

Tag

#Backend

Event-Driven User Notifications with Supabase, Webhooks, and Next.js (No Edge Functions Needed)

Stop sending notifications for users who never confirm their email. This guide walks through a clean, event-driven architecture using Supabase, Postgres triggers, and Next.js webhooks—no edge functions required.

Frank Mendez
Partitioning (a.k.a. Sharding): How Systems Actually Scale

You don’t scale by upgrading your server forever. You scale by splitting your data across machines.

Frank Mendez
Transactions: Keeping Your Data Sane in a Chaotic World

Distributed systems don’t fail loudly. They fail silently—with bad data.

Frank Mendez
🌍 The Internet Isn’t Flat Anymore: A Reaction to Supabase’s Regional Network Block Reality Check

Regional network blocks aren’t edge cases—they’re production realities. Supabase’s recent post highlights a growing blind spot in modern system design: assuming the internet is always reachable.

Frank Mendez
The Truth About Distributed Systems (a.k.a. “Everything Is On Fire, Just Slowly”)

If I design things well enough, my system will behave predictably.

Frank Mendez
Designing Data-Intensive Applications Chapter 9  Consistency & Consensus: Getting Systems to Agree (Good Luck With That)

Distributed systems don’t just store data—they argue about what’s true. Chapter 9 breaks down how systems reach agreement (or fail trying), why consistency is hard, and how consensus algorithms keep everything from falling apart.

Frank Mendez
Chapter 2: Data Models and Query Languages

“The limits of my language mean the limits of my world.” — Ludwig Wittgenstein

Frank Mendez
Chapter 5: Replication

Just copy the data to another server.

Frank Mendez
Chapter 4: Encoding and Evolution

Your system doesn’t break when you deploy it. It breaks when old data meets new code. That’s the uncomfortable reality of software: data outlives everything. You can rewrite your frontend. You can refactor your backend. You can even replace your database. But your data? It sticks around quietly waiting to expose every bad decision you made six months ago.

Frank Mendez
Chapter 2: API Paradigms Choosing the Right Language for Your System

Choosing the right API paradigm can make or break your system. Here’s a deep dive into REST, RPC, GraphQL, and event-driven APIs—and how to pick the right one.

Frank Mendez
Chapter 3: Storage and Retrieval

Your beautiful data model eventually turns into… bytes on disk.

Frank Mendez
Reaction: Batch Processing Isn’t Dead—It’s Just Quietly Running the World

Batch processing doesn’t sound sexy.

Frank Mendez
Designing Data-Intensive Applications Chapter 1 (Simplified for Builders)

“The Internet was done so well that most people think of it as a natural resource… rather than something that was man-made.” — Alan Kay

Frank Mendez
🚀 From WebSockets to AI Agents: Building chatmesh (and Breaking It on Purpose)

Most developers build features. I wanted to build systems. So instead of another CRUD app, I started building a real-time chat backend in Go—something simple on the surface, but brutal underneath.

Frank Mendez