Blog & Resources
Code tips, email marketing guides, and everything you need to build better transactional emails with React.
SaaS trial ending emails: copy, timing, and Stripe send rules
Write SaaS trial ending emails with clear copy for optional upgrades and automatic billing. Includes timing, AI-builder prompts, and tested TypeScript rules.
Stripe duplicate emails: stop webhook retries sending receipts twice
Fix Stripe duplicate emails in AI-built and Next.js apps. Find extra senders, persist invoice email jobs, and retry Resend sends without repeating receipts.
Vibe-coded app emails not sending? Fixes for Lovable, Bolt, Supabase
Sign-up emails not arriving from your Lovable, Bolt, or Supabase app? Fix team-only senders, localhost links, spam, and expired-token errors in six steps.
HIPAA-compliant email for developers: BAAs, reminders, lab results
Which email APIs sign a HIPAA BAA (SES and Mailgun do; SendGrid, Postmark, and Resend don't), what patient emails can say, and how to enforce it in code.
Pricing change emails: what Cursor and Copilot taught AI SaaS
How to email customers about a pricing or usage-limit change: per-customer impact numbers, notice timing, California's 7-30 day rule, and usage alerts.
AI agent approval emails: human-in-the-loop links in Next.js
Email approval requests for AI agent actions without letting link scanners approve them: one review link, POST decisions, one-time updates, and expiry.
React Email link checker: catch broken and placeholder links in CI
Render every React Email template with fixtures, extract each href and image src, and fail CI on placeholders, anchors, undefined values, and dead pages.