paulobrien.dev

About me

Hi, I'm Paul. Here's why I build these apps.

I've spent years testing email providers and writing about them at paulobrien.com. Along the way I started building my own apps, and this site is where I share them. This page explains why I make them and the few things I always try to stick to.

Paul O'Brien

// why I build

Why I build apps.

Most of what I build starts with something I need myself. I test a lot of email services for my reviews, and every so often I find myself wishing one of them worked a little differently. Building my own is the best way I know to get exactly what I want, and I learn a great deal along the way.

I try to keep my apps focused on email, or on tools I use all the time. Mail App, Blog Builder and Newsletter Sender cover email and publishing, while DMARC Reports, Site Watch and ReaderCount keep an eye on my own websites. I build these because I enjoy it and I use them myself.

// what I stick to

The things I care about.

Every app on this site is built with the same few ideas in mind.

PrivacyYour mail, posts, subscribers and stats are nobody else's business. My apps don't track you, show adverts or send your data to me.
Owning your own dataEvery app installs into your own Cloudflare account, not mine. You can download your data whenever you like, and your copy keeps running with or without me.
Free where possibleBecause the apps run in your account, there are no servers for me to pay for. I share them freely when there isn't a direct cost to myself.
Email firstEmail is what I know best, so that's where most of my apps start. The rest are tools I use all the time on my own sites.
Simple and stableI'd rather an app did a handful of jobs well than tried to do everything. Updating to a new version keeps everything you've already set up.
Built on CloudflareCloudflare is fast and reliable, and it means you don't need a server of your own to look after. It's what I use for my own websites too.

// my stack

My stack.

These are the tools and services I build everything with. I keep the list short on purpose, because fewer moving parts means fewer things to go wrong.

Cloudflare WorkersEvery app runs as a Worker, so there's no server to look after and it's quick wherever your visitors are.
Cloudflare D1The database behind each app. It's SQLite, which keeps things simple and easy to back up.
Cloudflare R2Storage for files, pictures and backups, in your own account.
Cloudflare EmailEmail Routing brings mail in, and the apps send their own alerts and sign in codes through Cloudflare too.
Amazon SESMy favourite for sending newsletters, because it has been so reliable for me over the years. Newsletter Sender works with others too.
PasskeysSign in with your fingerprint or face instead of a password, wherever I can offer it.
TypeScriptMost of the code is TypeScript, with as few outside packages as I can manage.
GitHub and GitHub ActionsAll my code lives on GitHub, and every change is tested and deployed from there.
Cloudflare Turnstile and AccessTurnstile keeps bots off my forms without puzzles, and Access guards my admin pages.

// your data

Why owning your data matters to me.

In a previous life I founded a self service email marketing platform. When our upstream provider was sold, its resellers were given just 48 hours' notice. Having reviewed so many email services since, I've seen how much depends on the company behind them. When your apps and data live in your own account, those decisions are yours to make.

Cloudflare is still a big company, so I've been open about what it can and can't see. If you'd like the full detail, I've written down exactly who sees what on the Why free and what's shared page. Mail App and Blog Builder are open source, and DMARC Reports, Site Watch, ReaderCount and Newsletter Sender are source available and free for your own use, so you can check every line yourself.

// sharing

Sharing what I'm doing.

I enjoy sharing what I'm working on, what's gone well and what hasn't. I keep a journal on paulobrien.com, post on Bluesky and every change to the apps goes into the release notes. If you've got an idea, or something isn't working as it should, I'd love to hear from you.

Stay in the loop

Subscribe for updates.

Leave your email and I'll tell you when there's a new version of one of my apps, or a new project to try. Nothing else.

That didn't work. Please check your email address and try again.

One email to confirm. Unsubscribe with one click. Your address is only used for these updates.