Connect Resend to your Goodspeed app
Transactional email delivered from Supabase Edge Functions: welcome sequences, password resets, and notification digests. Goodspeed wires Resend into every app that needs it at generation time, so you start with a working integration, not a blank config and a documentation tab.
WHAT GETS WIRED IN
Built into every Resend build
Every app Goodspeed generates with Resend includes these wired integrations from the first build. No manual setup required.
| Item | Description | Strength |
|---|---|---|
| supabase/functions/send-email/handler.ts accepts a recipient, subject, and HTML body and calls the Resend API for delivery | supabase/functions/send-email/handler.ts accepts a recipient, subject, and HTML body and calls the Resend API for delivery | 01 |
| RESEND_API_KEY stored as a Supabase secret so it is never bundled into the app or exposed to client code | RESEND_API_KEY stored as a Supabase secret so it is never bundled into the app or exposed to client code | 02 |
| Email HTML generated inline per email type (welcome, reset, digest) using app name and branding from function environment variables | Email HTML generated inline per email type (welcome, reset, digest) using app name and branding from function environment variables | 03 |
| Supabase Auth email overrides route confirm-signup and reset-password flows through the send-email Edge Function | Supabase Auth email overrides route confirm-signup and reset-password flows through the send-email Edge Function | 04 |
Source: the Goodspeed app foundation · transactional-email
REAL GENERATED CODE
A snippet from a Resend integration the pipeline ships
This pattern is lifted from the engineered plumbing that ships inside every Goodspeed app. The studio generates Resend integration code like this for every app that includes it, not a placeholder you have to fill in yourself.
Edge Function email
// supabase/functions/send-email/handler.ts import { Resend } from 'npm:resend'; const resend = new Resend(Deno.env.get('RESEND_API_KEY')); Deno.serve(async (req) => { const { to, subject, html } = await req.json(); const { error } = await resend.emails.send({ from: 'Goodspeed <noreply@goodspeed.app>', to, subject, html, }); if (error) return new Response(JSON.stringify(error), { status: 400 }); return new Response(JSON.stringify({ ok: true })); });
Today's log
APPS THAT USE RESEND
Where this integration ships
These app types include Resend as part of the generated stack. Each link goes to a full spec page with capabilities, scored ideas, and a pipeline walkthrough.
- Build a Social App appBuilding a social app from scratch means solving hard infrastructure problems: real-time feeds, fan-out writes, notification delivery, and content moderation hooks. Goodspeed generates a complete sociSOCIAL APP
- Build a Productivity App appProductivity apps succeed when they remove friction from the moment the user decides to work. Goodspeed generates a productivity app with Pomodoro timer, focused task queue, distraction blocker hooks,PRODUCTIVITY APP