Integrations
Providers already wired in.
Every one of these is real, working code, not a placeholder .env key. Swap a provider out and the rest of the app doesn't notice.
Billing
Pick one provider at setup; the checkout, portal, and webhook code is written against a shared interface so switching later doesn't mean a rewrite.
StripeSubscriptions, the customer portal, and metered usage.
LemonSqueezyMerchant-of-record checkout, handles tax for you.
PolarDeveloper-first billing with a generous free tier.
Transactional email templates are written in React Email and sent through Resend.
ResendWelcome, invite, receipt, and password-reset emails.
AI
The Vercel AI SDK abstracts the model provider, so /app/ai's streaming chat works against either.
AnthropicClaude models via the official AI SDK provider.
OpenAIGPT models via the official AI SDK provider.
Rate limiting & caching
Upstash Redis backs the rate limiter that protects auth and AI routes from abuse.
Upstash RedisSliding-window limits on sensitive endpoints.
File uploads
Uploadthing handles storage and signed URLs, no S3 bucket to configure yourself.
UploadthingAvatar and file uploads with type/size validation.