Published:
Email deserves better than an afterthought. For a long time, our marketing emails lived on a platform we barely touched, and our users heard from us too rarely. This week we fixed that: we migrated everything to Flypombo, our new email marketing platform, and we did the whole job with OpenCode running GLM-5.3 Flash, the model that is now the default on Chat-O.
It worked like a charm. Here is what the migration looked like, and what it means for you.
We wanted to do three things well: onboard new users with a friendly sequence instead of silence, share real tips with people who are already getting value out of Chat-O, and send important notices like data-export confirmations through the same reliable pipeline. That meant a platform with proper lifecycle tooling, not just a newsletter sender. Flypombo checked every box, including a clean API our Elixir backend could call.
1. Verifying the domain. The agent added our sending domain, read back the required DNS records, and wrote them straight into our Cloudflare zone: three DKIM signing keys, an SPF update, and a dedicated envelope subdomain for bounce handling. Verification came back green for DKIM, SPF, and DMARC within minutes. Email from Chat-O now authenticates end to end.
2. Moving the contacts. We exported our active users and imported 288 verified contacts. The important part was hygiene: before anything was imported, every address went through a disposable-domain blocklist, live MX checks, and AWS SES’s new email validation API. Forty-eight junk and dead addresses were caught before they could ever hurt our sender reputation. If you are on our list, you are on it because your address works.
3. Building the lifecycle. Two sequences now run automatically:
Each email exists in two designs, and new signups are split 50/50 between them so we can measure which layout people actually engage with.
4. Wiring the backend. Our Phoenix app now posts lifecycle events to Flypombo’s API as they happen: a signup, a first completed chat, a subscription starting. The right email follows the right moment automatically.
The whole job, from “we should move platforms” to “first email delivered”, took one focused session. Not because the agent was fast, though it was, but because it did the boring parts correctly: exact DNS values copied rather than retyped, unsubscribe states preserved, every address validated before import, three layers of shell quoting handled through SSH, Docker, and remote execution, without a single mangled deployment.
That is the same GLM-5.3 Flash that started life as ox alpha, the free stealth model we used to migrate an entire Rails codebase to Go. It keeps earning its place as our default: fast, capable, and cheap enough to point at the unglamorous work most teams postpone forever.
If you want to migrate your own email marketing platform, or run any agentic project like this, OpenCode in your terminal plus GLM-5.3 Flash is what we recommend. For pure API usage, we love OpenRouter, and if you want to try the model in a private multi-model chat, it is waiting for you on Chat-O.
If you are a Chat-O user, expect to hear from us a little more often, always with something useful:
We are excited about this. Good email is a way of keeping you informed about new models, new features, and improvements to the product as they land, not a way of shouting at you. If you ever feel otherwise, the unsubscribe link is right there, no hard feelings.
Here is to staying in touch.
Sources: