supabase-rb-rb

Starter Kits

Production-ready Rails starter kits wired up with Supabase Auth via supabase-rails — pick the shape that matches your app (API-only, Hotwire monolith, or Inertia + React) and clone.

The starter kits are opinionated Rails 8 applications pre-wired with supabase-rails so you can clone, set two environment variables, and start building features instead of plumbing. Each kit is a real Rails app — not a generator output — so you can read the controllers, layouts, and config to see exactly how supabase-rails is wired into a working app.

The three kits differ only in the shape of the frontend: a JSON API for mobile or SPA clients, a server-rendered Hotwire monolith, or an Inertia-driven React frontend served from the same Rails process. Pick the one that matches the app you want to ship — the Supabase integration is the same underneath.

Compare the kits

Rails APIHotwire monolithInertia + React
Rendering modelJSON API — no views, JWT on every requestServer-rendered HTML with Hotwire (Turbo + Stimulus)Server-driven SPA — Rails controllers return Inertia responses, React renders
Frontend stackNone — bring your own mobile or SPA clientERB + ViewComponent + Tailwind v4 + RailsblocksReact 19 + TypeScript + Vite + shadcn/ui
supabase-rails mode:api — JWT verified per request from Authorization: Bearer:web — encrypted cookie session, no tokens in the client:web — encrypted cookie session shared with the React layer
When to choose itYou're shipping a mobile app or third-party SPA and want Rails to be the JSON backendYou want a productive server-rendered Rails app with real-time UI and no JS build pipelineYou want a typed React frontend without standing up a separate API tier
Key dependenciesRails 8, supabase-rails, rswag, rack-attack, rack-cors, KamalRails 8.1, supabase-rails, ViewComponent, tailwindcss-rails, lucide-rails, ImportmapRails 8, supabase-rails, inertia_rails, vite_rails, React, shadcn/ui, Kamal

Pick a kit

On this page