How to send messages programmatically. Resend for transactional email, SMS providers for text, and the patterns for templating, deliverability, and opt-out.
Communications are the seam between your product and the rest of the world. Leads come in. Confirmations go out. Customers get nurtured. Without this seam, everything you build is invisible to anyone outside your machine.
Most participants overestimate how hard this is. The honest truth: send-an-email-from-code is now a fifteen-minute task. Send-a-text-message is similar.
You can spend years on the long tail of channels (WhatsApp Business, Telegram, push, in-app, RCS). Or you can start with the two that cover almost every real use case.
Mixing these up is the most common deliverability mistake.
Email arrives in the inbox or the spam folder based on three DNS records. Resend walks you through all three; you copy/paste them into your DNS settings once and never think about them again.
Every bulk email needs an unsubscribe link in the footer. Every SMS needs reply STOP. CAN-SPAM (US) and GDPR (EU) both require these. Resend and Twilio handle the mechanics; you have to remember to include them.
You need: a Supabase contact form from Protocol 07, a domain (from Protocol 06), and a Resend account (free tier).
Email signup. Free tier: 100 emails/day, 3,000/month. Enough for any small business.
Resend Dashboard > Domains > Add. Resend gives you three DNS records (SPF, DKIM, DMARC). Add them at your registrar. Wait 5 minutes for verification.
Resend Dashboard > API Keys > Create. Copy it. Add to Vercel as RESEND_API_KEY and to .env.local.
In Claude Code: "On contact form submit, also send a thank-you email via Resend to the submitted email. From: hello@yourdomain.com. Subject: Thanks for reaching out. Body: short, personal, signed."
Tell Claude: "Also send a notification email to my address (hard-code it for now) with the lead's name and email." Commit and push.
Fill the form on your live site with a real address. Within seconds: the thank-you email arrives in the submitter's inbox, the notification arrives in yours. Both look on-brand.
Your contact form sends a real email to the lead and a notification to you. Resend is wired with verified DNS. You have crossed from has-a-form to has-a-funnel.
You hook Resend to your contact form, send a real test lead, and confirm the email lands in your real inbox looking like it came from your brand.