Friday, January 30, 2026

From SendGrid to Sovereignty

Amazon SES rejected my application. After 13 years in enterprise software and a decade running email marketing campaigns, the gatekeepers decided I wasn't trustworthy enough to send transactional emails from my own SaaS apps.

That's the thing about shared services: you play by their rules. Including whether you're allowed to play at all.

So I built my own mail server. In 24 hours. For $13/month.

The Gatekeeping Problem

When you use someone else's infrastructure, you're not just renting capacity. You're accepting their judgment about who you are and what you're allowed to do.

SES has a verification process. Makes sense — they're protecting their IP reputation from spammers. But that same process that stops bad actors also stops legitimate builders who don't fit their risk model. A solo founder with a new domain? Red flag. A startup without years of sending history? Suspicious.

The shared service model works by being conservative. They'd rather reject a good customer than risk a bad one. Your business goals are not their business goals.

I could have appealed. Provided more documentation. Waited for approval. Played the game.

Or I could just... not need their permission.

The Capability Shift

A year ago, running my own mail server would have been out of reach. Not because I lacked the knowledge — I've been doing email for a decade — but because the operational overhead would have been brutal. DNS configuration, DKIM signing, deliverability monitoring, bounce handling, security hardening. Each piece is learnable; together they're a wall.

AI changed that equation.

Not by doing it for me, but by compressing the learning curve. When I hit a wall — "why is IPv6 breaking delivery?" — I could debug it in minutes instead of hours. When I needed to configure Cloudflare Zero Trust, I could explore options conversationally instead of reading docs for a day.

My 10 years of email experience became more valuable, not less. AI handles the syntax; I provide the judgment. "Should I disable IPv6 or fix the routing?" requires understanding the tradeoffs. The AI surfaces options; I make decisions.

This is the capability shift nobody talks about: AI doesn't replace expertise, it amplifies it. Things that were "possible but not worth it" become "possible and practical."

Security Through Isolation

Here's the part that surprised me: my self-hosted setup is more secure than the managed services.

Shared infrastructure has shared risk. When SendGrid gets breached, every customer is exposed. When a SaaS provider's employee goes rogue, your data is in the blast radius. Multi-tenant systems are attacked because they're high-value targets — one breach, thousands of victims.

My mail server? Single tenant. Just me.

The security model is fundamentally different. Instead of trusting a provider's security team, their access controls, their employee screening — I trust myself. The attack surface is tiny because nobody else needs access. There's no multi-tenant permission model to exploit. No shared infrastructure to pivot through.

I can implement defense in depth — multiple authentication layers, zero-trust networking, aggressive lockdowns — without worrying about breaking other customers' workflows. The paranoid configuration that would be "too restrictive" for a shared service is just Tuesday for a single-user system.

The Vibe Coding Paradox

There's a growing concern that AI-assisted development — "vibe coding" — creates security risks. More code, less understanding, more vulnerabilities.

My experience is the opposite.

When you build custom software for yourself, the attack surface shrinks. A shared SaaS must handle millions of users, edge cases, permission models, account types, abuse vectors. Every feature is a potential vulnerability. Every user interaction is a trust boundary.

My mail server handles one user: me. My apps authenticate one organization: mine. The permission model is trivial. The edge cases don't exist. The attack surface is minimal by design.

The security risk of "vibe coded" software isn't the code quality — it's the assumption that you're building for the world. When you're building for yourself, the complexity that creates vulnerabilities simply doesn't exist.

Shared services are complex because they have to be. Custom software can be simple because it doesn't.

Your Usage Is Their Product

I wrote recently about how platforms optimize your attention for their benefit, not yours. The same pattern exists in infrastructure.

When you use a shared email service, everything is optimized for them:

  • Their IP reputation matters more than your delivery
  • Their risk model determines your access
  • Their pricing captures the value you create at scale
  • Their roadmap prioritizes their biggest customers, not you
  • Their support queue ranks you by revenue, not urgency

You're not the customer. You're a row in their database, optimized for their margins.

The gatekeeping that blocked me from SES wasn't malicious — it was rational. They're optimizing for their goals. A new domain from a solo founder is a risk to their reputation. Rejecting me costs them nothing. Accepting a spammer costs them everything.

Their optimization function doesn't include "help Tim build his business."

When you own the infrastructure, you control the optimization function. My mail server optimizes for exactly one thing: my delivery, my reliability, my goals. There's no conflict of interest because there's no one else's interest involved.

The Point

We're entering an era where the "just use X" advice is becoming obsolete. Not because shared services are bad — they're fine for what they are — but because the capability threshold for owning your stack is dropping fast.

AI doesn't just let you build software. It lets you build infrastructure. The same way it compressed time-to-working-app, it compresses time-to-working-server.

Every service you don't own is a decision someone else gets to make about your business. Every API you depend on is leverage they hold over you. Every approval process is a gate they control.

SES told me no. Now I send email without asking anyone's permission.

That's sovereignty.


The capability gap between "rent it" and "own it" is collapsing. The question isn't whether you can build it — it's whether you're willing to stop asking for permission.