$ show devtodollars/mvp-boilerplate
This is a production-oriented full-stack SaaS starter kit (not a data/research project). It is a monorepo template pairing a Next.js web app (landing page, auth flow, account dashboard, marketing sections) with a Flutter cross-platform app (iOS/Android/macOS/Windows/Linux/web) on top of a shared Supabase backend. The backend is a Postgres schema (users, customers, products, prices, subscriptions, invoices) protected by row-level security, plus Deno edge functions that orchestrate Stripe Checkout sessions and process Stripe webhooks. PostHog handles analytics on both frontends, Loops.so handles transactional email, and an optional Monero cryptocurrency payment variant can be toggled in via patch scripts, giving the template two billing backends.
The LLM identified 5 files worth highlighting for reuse:
Deno edge function that consumes Stripe webhook events (product.created/updated/deleted, price events, checkout.completed, customer.subscription.updated/deleted) and mirrors Stripe state into Supabase Postgres tables (products, prices, subscriptions, customers, invoices), including cleanup on delete. It treats Stripe as the source of truth and Postgres as the projection. The pattern is directly transferable to any Stripe-backed SaaS backend and the code is cleanly organized with shared helpers for signature verification and typed inserts.
Edge middleware for Next.js that refreshes the Supabase auth session on every request using the PKCE flow and updates the session cookie, with route-based protection logic. This is a clean, minimal implementation of the canonical Supabase session-refresh pattern and can be lifted into any Next.js + Supabase application.
A Flutter widget that wraps child content in a modal barrier route so dialogs can be driven by GoRouter as first-class routes, preserving platform-native back gesture/button behavior and correct context. This demonstrates a non-obvious pattern for URL-driven or state-driven dialogs in Flutter and is extractable into any GoRouter-based Flutter app.
A minimal, self-contained helper that centralizes CORS header handling and request parsing for all Deno edge functions in the repo. It encapsulates the repetitive OPTIONS-preflight and JSON-parse boilerplate that plagues every Supabase edge function, making it trivially reusable in any Deno/Supabase function project.
An edge-runtime API route that renders dynamic OpenGraph images using satori/resvg, with theme-aware colors and custom text layout. It provides a self-contained example of server-side social card generation for a Next.js App Router project and can be extracted with minimal modification.