Welcome to Supasheet
Complete CMS platform built on Supabase
What is Supasheet?
Supasheet is a complete, opinionated open-source CMS platform built on Supabase. It goes far beyond a basic admin panel — authentication, role-based access control, multi-view CRUD, dashboards, charts, reports, file storage, audit logging, comments, notifications, and templates are all included out of the box.
It follows a SQL-first philosophy: you define your data model and business logic in PostgreSQL, and Supasheet automatically renders a polished, production-ready UI on top of it.
Key Features
- Authentication — Sign in, sign up, password reset, MFA, OAuth identities
- User Management — Create, invite, update, and delete users via the Supabase Admin API
- Authorization (RBAC) — Three built-in roles (
x-admin,admin,user) with fine-grained per-table permissions and PostgreSQL Row Level Security - Resource (CRUD) — Auto-generated create / read / update / delete UIs for any table or view
- Six View Types — Sheet (table), Kanban, Calendar, Gallery, List, and Tree, switchable per resource
- Inline editing — Side-sheet editor available on every view
- Dashboards — Widget-based dashboards driven by SQL views
- Charts — Area, bar, line, pie, and radar charts powered by Recharts
- Reports — Tabular reports built from SQL views
- Templates — Reusable, pre-filled views you can copy into target tables
- Comments — Permission-gated threaded discussions on any record
- Notifications — In-app notification system with fan-out, read/archive state, and trigger-based delivery
- Audit Logs — Automatic INSERT/UPDATE/DELETE trail with old/new values and changed fields
- File Storage — Browse, upload, rename, move, and preview files across public, personal, and per-resource buckets
How It Works
Supasheet is built on top of Supabase:
- PostgREST — Automatic REST API generated from your PostgreSQL schema
- Supabase Auth — JWT-based authentication with email/password, MFA, and OAuth providers
- Supabase Storage — File storage with bucket-scoped RLS policies
- Row Level Security — Postgres policies for fine-grained authorization
- Realtime — Optional realtime subscriptions for live updates
- Edge Functions — Deno-powered admin endpoints for user management
The frontend (React 19 + Vite + TanStack Router) introspects your schema through Supasheet's supasheet meta schema and dynamically renders a full CMS — CRUD forms, all six view types, dashboards, charts, reports, file browsers, and admin pages — without you writing any UI code.
Getting Started
Choose Your Path
The documentation is organized into three sections:
- Self-Host — The first and simplest way to run Supasheet: deploy the open-source app on your own infrastructure with your own Supabase project. Free forever (MIT).
- Guide — Once self-hosted, learn how to add new features to your app the SQL-first way: resources, dashboards, charts, reports, permissions, and more.
- Managed Solution — Skip the DevOps entirely. Sign up with your Supabase project and build with the visual UI builder — almost everything is no-code or low-code.
Quick Start
Self-hosting? Follow the installation guide to get Supasheet running locally in a few minutes. Prefer hosted? Connect your project and go live without deploying anything.
Learn the SQL-First Workflow
Read the SQL-first philosophy to understand how Supasheet turns a SQL schema into a complete CMS — it applies to both self-hosted and managed apps.
Technology Stack
- App — React 19.2 + Vite 7
- Routing — TanStack Router (file-based, type-safe)
- Data Fetching — TanStack Query 5
- Forms — TanStack Form
- Tables — TanStack Table 8 + react-data-grid
- UI — shadcn/ui (Base UI variant) + Tailwind CSS 4
- Rich Text — Lexical
- Charts — Recharts
- Icons — Lucide React
- Backend — Supabase (Auth, Postgres, Storage, Edge Functions)
Community & Support
- GitHub — github.com/supasheet/supasheet
- Documentation — You're here
- Issues — Report bugs and request features on GitHub