Application
- Frontend: Next.js 16 App Router, React 19, TypeScript
- Styling: Tailwind CSS
- Package manager: pnpm
Content and data
- CMS: Payload CMS 3.x
- Database: PostgreSQL (Supabase)
- Storage: S3-compatible storage (Supabase)
Integrations
- Auth: Supabase Auth
- Email: Resend
- Payments: Stripe (optional)
- Analytics: PostHog and Google Analytics (optional)
Why this stack
- Next.js provides server rendering and app routing for content-heavy pages.
- Payload CMS gives structured content types and an internal admin UI.
- Supabase handles managed Postgres and storage without custom ops overhead.
- Resend and Stripe plug into existing workflows without bespoke infra.