The League of Moveable TypeThe League of Moveable Type

Mailbag

Rebuilt our 5-year-old newsletter tool with agents — to write, edit, and assemble in our voice.

Mailbag screenshot 1
Mailbag screenshot 2
1/2
↑ Drag up
Drag down ↓

The 5-Minute Newsletter: From Manual Assembly to AI Conversation

The Moment Everything Clicked

My intern Kareena left for vacation last week. She's been assembling our newsletter, The Weekly Typographic, every week for the past three years using a tool I built back in 2020.

Quick context: The Weekly Typographic reaches 18,000+ designers every week. We've been the pulse of typography education since 2009—our fonts alone have been viewed 144 billion times. When we don't send, people notice. The business notices.

When I opened Mailbag to do the newsletter myself, the database connection was broken.

I could've fixed it in 20 minutes. Instead, I looked at this 5-year-old tool and thought: "AI has changed everything. Why am I still making humans do robot work?"

Five days later, I'm watching an AI agent write newsletter descriptions that sound exactly like me, while I have a conversation with it about which links to feature. What used to take 4 hours now takes 5 minutes.

The 8-Year Evolution

Let me back up, because this story really starts in 2017.

Phase 1: The Manual Era (2017-2020)

I was curating links for our typography newsletter every week. Writing tutorials, finding resources, assembling everything by hand. It was exhausting but necessary — The League was growing from a font foundry into something bigger.

When I hired Hugo in 2018 to help, I thought I'd solved the problem. He was smart, eager, had good taste once I trained him. But Hugo wasn't a designer, and watching him work was painful.

Every Thursday night, Hugo would:

  • Open our Mailchimp template
  • Copy-paste each article title, one by one
  • Write descriptions in Mailchimp's tiny text box (no spell check, no formatting help)
  • Upload images manually, resize them, hope they looked right
  • Add the link... then realize he forgot the UTM tracking... go back and fix it
  • Scroll through 20+ content blocks to find the right category section
  • Repeat this 12-15 times per newsletter
  • Preview it, notice the spacing was off, go back and adjust
  • Remember we needed the "upgrade to paid" block, hunt for it in Mailchimp's interface
  • Finally hit send at 11 PM, exhausted

Three hours. Every week. For something that looked... fine.

And we're all human — even after months of practice, Hugo would still occasionally send the paid content to free subscribers, or forget the podcast promotion, or accidentally delete a section while editing. Mailchimp's interface wasn't built for this kind of custom newsletter. We were forcing a square peg into a round hole, and if there's one thing about me — I cannot stand for an innefficient system.

Phase 2: v1, Baby (2020-2024)

When Steph volunteered to help in 2020 — a (frankly) overqualified but enthusiastic fan with immense heart and brainpower and skills, but zero knowledge of HTML — Hugo had just moved on to a other grand endeavors. Steph was volunterring; I couldn't expect her to learn code just to make our emails beautiful.

So I built Mailbag v1. The innovation wasn't just automation, it was making complex things simple:

  • Paste a URL, get instant preview cards with auto-fetched metadata
  • Drag-and-drop ordering with real-time email preview — using MJML to show exactly what Mailchimp would be rendering
  • Smart Mailchimp merge tags that showed different content to free vs paid subscribers (I still haven't seen this in any other tool 👀)
  • Gmail size checker (after a deep dive and learning that too many kB meant Gmail would stop showing content after it hit its max) that warned her when emails would get cut off
  • Automatically pull in the lastest podcast with images and descriptions to show at the top of the newsletter, so she wouldn't have to hunt it down and upload anything
  • One-click HTML export straight to clipboard for easy pasting

It saved a ton of time, and a ton of headache.

We used it reliably for 5 years. Steph until 2022, then Kareena—who started as a college intern and is now our lead curator post-graduation. Every single week without fail.

Errrr... mostly without fail.

By 2024, localStorage was mixing up state with the database sometimes and confusing what this week's articles were supposed to be. Fixable, but annoying. Database connections would timeout; auth keys would expire. Browser updates broke drag-and-drop for a bit, and I'd have to hop into years-old code to fix.

I'd patch it, and get it back up and running, but we were accumulating technical debt.

Phase 3: The AI Breakthrough (2025)

Last week (as of this writing), Kareena went on vacation.

I've lined up all the articles in Notion; you just have to assemble the newsletter each week. It's only a few weeks. THANK YOU.

So, of course, just like Hugo so many years before — I hop on Thursday night to load up Mailbag and assemble.

The database broke. Woof.

Of course, my brain thinks in systems — I suppose I could have just assembled the newsletter the old-fashioned way. It would have taken an hour, two tops.

But what about next week? And the week after? And then when Kareena came back — she wouldn't be able to do that.

It isn't just that I care about systems, it's that I'm trying to imagine a few steps ahead and realize a temporary fix won't fix a problem that's about to be recurring.

And I realized the same thing I realized so long ago: I can build stuff.

And here's what's changed: everything.

The modern tech stack I use by default, the AI tooling I've been playing with in various projects and side projects the last few months, they've made it possible to build what I'd always wanted — a tool that doesn't just assemble content, but helps us create it.

The Big Leap: v6

Mind you — there's quite a few unlaunched weekend prototypes of previous iterations of Mailbag under my belt at this point. Over the years I'd messed around with Slate or TipTap or various other modern-stack WYSWIG editors to see if I could make our template more versatile, and none were ever better than what we had.

Back in 2020, Mailbag was powered by a stack of React, MJML, Postgres, and a handful of localStorage hacks to keep things running smoothly.

Fast forward to 2025, and the foundation has shifted to Next.js 15, Vercel AI SDK 5, gpt-5-nano, react-email, and the Notion API.

Mailbag v6 Interface

The real breakthrough here wasn't going to just be the technology — it's the orchestration of AI agents working together behind the scenes.

// Simplified version of the agent chain
const tools = {
  fetchWeeklyLinks: // Pulls from Notion, organizes by type, filters out past/future and undecided articles
  enhanceContent: // Identifies what needs writing, which need better images, etc
  writeDescriptions: // Matches our exact voice, tone, personality — and sounds human
  generateIntro: // Finds themes across all content to write a teaser intro so you'd wanna keep reading
  assembleNewsletter: // Builds the final email
}

But AI isn't Human

The hard part wasn't just building the AI or the tech or making it look nice or stay performant — it was teaching it to write like us.

The first attempts were painful. The AI sounded like a LinkedIn thought leader: "This revolutionary typography solution will transform your creative workflow." Kill me now.

The insight? Don't teach it to write professionally. Teach it to be a typography nerd. I fed it our raw podcast transcripts and past newsletter snippets — not edited copy, but actual conversations where we'd argue about whether Helvetica was overrated (it isn't) and where we'd shared cool type and tools and articles in the past, and why.

And after much massaging, the true key was not in telling it how to write... it was explaining who the AI was. Writing a story about its role, what made it excited, where it was in life and how it saw the world. That got us over the edge, to where it suddenly was embodying real character.

Three days later, it wrote this about a temperature-responsive typeface:

Okay this actually blew my mind, but hear me out—this foundry just proved that variable fonts can respond to ambient temperature. They built a typeface that literally gets heavier when it's cold outside. Is this practical? Absolutely not. Is it the coolest thing I've seen all week? You bet.

That's when I knew we'd crossed the threshold. It wasn't mimicking us. It had internalized our entire worldview about typography.

The Interface Magic

Is AI the solution to all our problems? Of course not. But the the conversational control turned out to be shockingly practical.

Instead of forms and buttons, you have actual conversations:

That kerning article description is putting me to sleep

Want me to channel episode 73 energy where you ranted about designers not knowing kerning from letter-spacing?

YES. But less angry, more disappointed professor

How's this: 'Look, we need to talk about kerning. Not letter-spacing—actual, proper, pair-by-pair kerning. This article finally explains why your headlines look off even though you've been mashing that tracking slider.'

Perfect. Ship it.

And here's the beautiful part: you watch it work.

The chat shows exactly what it's doing:

🔍 Fetching this week's links from Notion...
✨ Found 12 links: 2 tutorials, 1 tool, 2 articles, 3 fonts
📝 Enhancing "How to Kern Display Type" - writing description...
🖼️ Pulling better preview image...

While the preview next to it updates in real-time, showing your newsletter being built as you go.

The Human Impact

Before, Kareena would spend a good chunk of her day on the newsletter—maybe an hour or two just writing descriptions, then another forty-five minutes or so getting everything arranged and formatted.

All told, it could easily take her a few hours each week.

Now, with the new setup, she’ll just type something like “Generate this week’s newsletter,” and then tweak anything she wants through the chat. Honestly, it should only take her about five minutes — it feels almost strange to say that, but that’s really the difference.

But here's what really matters: She can focus on curation taste instead of mechanical assembly.

Finding great content, not formatting it.

What Building This Taught Me

Here's what I didn't expect: I fell back in love with the newsletter a little bit.

For the past year, every time Kareena was out, I'd dread Thursday. Not because the tool was broken—it worked. But assembling newsletters felt like busywork when I wanted to be building.

Now? I'm having a quick conversation about why a Cyrillic type article matters for our English-speaking audience. It remembers we featured that foundry two years ago. It suggests connections to episode 47.

I'm not assembling anymore. I'm having the conversations Olivia and I used to have.

The Quiet Revolution

Kareena doesn't know any of this yet. She's on vacation for two more weeks.

No launch announcement. No all-hands. No ProductHunt campaign. Just a tool that quietly transformed while she was gone.

When she gets back, she won't find some flashy AI revolution. To be fair, I'm sure she'll be surprised by the new interface.

But instead of late Thursday night formatting marathons, she'll have Thursday morning conversations. The tedious parts won't just be automated — they'll be elevated to match the expertise she's built over three years.

This is the kind of tool I live to build: One that disappears so completely into the workflow that people forget it was ever painful.

What This Means for ✨ Design Engineering ✨

This isn't a story about adding AI features.

I've been building this tool in various forms for 5 years. But only in 2025 could I build what I actually wanted: a tool that understands intent, writes in your voice, and lets you work through conversation.

One that makes it easy for an intern to output something as advanced as I'd make myself.

For companies hiring design engineers, it's a story of:

  • Patient iteration over multiple years
  • Deep understanding of user workflows
  • Technical excellence with cutting-edge tools
  • Design thinking that makes complexity invisible

But most importantly: it's a story of how I build tools that make people's work disappear, so they can focus on what matters.

This project is part of a larger journey from

More from this Journey

Technical projects and solutions that made this transformation possible

Typography Courses & Workshops screenshot 1
Typography Courses & Workshops screenshot 2
Typography Courses & Workshops screenshot 3
1/5
↑ Drag up
Drag down ↓
The League of Moveable TypeThe League of Moveable Type

Typography Courses & Workshops

Developed a series of online and in-person courses and workshops on typography, partnering with industry experts.

The Weekly Typographic Podcast screenshot 1
The Weekly Typographic Podcast screenshot 2
1/2
↑ Drag up
Drag down ↓
The League of Moveable TypeThe League of Moveable Type
The Weekly Typographic Podcast

141 episodes, 215K+ listens across 6 years—Olivia and I turned our newsletter debates into a beloved typography podcast.

The Confident Designer screenshot
The League of Moveable TypeThe League of Moveable Type

The Confident Designer

A typography course designed to build confidence in design decision-making and typographic choices.

The Quick Brown Fox Tee screenshot 1
The Quick Brown Fox Tee screenshot 2
The Quick Brown Fox Tee screenshot 3
1/3
↑ Drag up
Drag down ↓
The League of Moveable TypeThe League of Moveable Type

The Quick Brown Fox Tee

A merchandise project designed exclusively for the League's superfans.

The League of Moveable Type Website screenshot 1
The League of Moveable Type Website screenshot 2
The League of Moveable Type Website screenshot 3
1/13
↑ Drag up
Drag down ↓
The League of Moveable TypeThe League of Moveable Type
The League of Moveable Type Website

Typography and font foundry website design and development.

TerminalESC
Welcome to my portfolio — you can navigate around using either your browser or the terminal. Type `help` to get started.
user@micah.sh ~/projects/mailbag $