Technical
Newsletter Infrastructure Review: What Eight Months of Sends Taught Me
Newsletters are the most reliable distribution channel I run. Social feeds fragment. Search rankings shift. Email stays. After eight months of running a newsletter on my own infrastructure, I have learned what matters and what is noise.
The Stack That Worked
- AWS SES for sending (under $1 per thousand emails)
- DynamoDB for subscriber list
- Lambda for send workers
- SQS for per-recipient queueing
- Double opt-in flow
- Plain text plus HTML multipart emails
Total cost for eight months of sends: less than $20.
What Matters for Deliverability
Deliverability is the single hardest part of running a newsletter. What actually moved the needle:
- SPF, DKIM, DMARC configured correctly
- Plain-text fallback in every email
- Visible unsubscribe link, List-Unsubscribe header
- Consistent
fromaddress, warmed over time - No image-only emails, no tracking pixels in the header
Doing those five things correctly from day one mattered more than any tool choice.
The Engagement Reality
Open rates are a lie now. Apple Mail Privacy inflates them. What I actually track:
- Click-through rate: signal a human read and acted
- Reply rate: strongest signal, rare but meaningful
- Unsubscribe rate: if it spikes, the content is off
Stop obsessing over opens. Track clicks and replies.
The Content Discipline
Every newsletter I wrote followed a simple structure:
- One insight up top
- One practical example in the middle
- One clear link at the bottom
No roundups. No padding. Readers can skim in 30 seconds.
What I Would Change
I underinvested in segmentation early. Sending the same content to everyone is easy but wasteful. Next year I will add lightweight segmentation based on which articles subscribers click.
The Compounding Asset
Every subscriber added this year is a subscriber I still reach next year. That compounding is why email beats every other channel. The list is the asset. Protect it, respect it, and send it things worth reading.
The Sending Cadence
Weekly worked better than daily for my newsletter. Daily publishing happened on the site. The newsletter digested the week. Subscribers want a reason to open, not an obligation to keep up. Lower cadence, higher quality per send, better relationship.
Infrastructure Lessons Worth Keeping
- SQS per-recipient queueing isolated failures cleanly
- SES suppression list handling saved me from silent bounces
- DynamoDB streams triggered welcome emails reliably
- Idempotent send handlers prevented duplicate deliveries
Each of those is a small engineering choice that paid back across hundreds of sends.
For the current CAN-SPAM and deliverability requirements, see the AWS SES best practices guide.
RELATED READING
The Consulting Shift I Am Making In Year Two
After a year of writing and building, my consulting practice is changing shape. Shorter engagements. Sharper outcomes.
ReadThe Frontend Shift: Shipping Less JavaScript In Year Two
A year ago I reached for Next.js for everything. This year I often reach for nothing.
ReadThe Serverless Lesson I Would Write On A Sticky Note
After a year of shipping serverless projects, one rule explains most of the wins and all of the losses.
Read