Welcome to Supasheet
Complete CMS platform built on Supabase
What is Supasheet?
Supasheet turns your Postgres schema into any business app. It's a complete, opinionated CMS platform built on Supabase that 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. Teams use it to run internal operations, or to build full products like a CRM, an ERP module, or a B2B customer portal, all backed by permissions and audit trails enforced natively by Supabase: Postgres RLS policies driven by Supabase Auth's JWTs and auth.uid(), not a bolted-on app-layer permission system. The example schemas shipped with the project — CRM, HR, Finance, Inventory, Manufacturing, Procurement, Quality, LMS, Hostel, Helpdesk, Store, and Blog — show it scales from a weekend internal tool to a full ERP or B2B product.
Run it however suits you: self-host the open-source app on your own infrastructure for free (MIT), or use the managed solution to skip the DevOps and get a hosted app plus a visual, no-code/low-code UI builder on top of the same product.
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
- Seven View Types — Sheet (table), Kanban, Calendar, Gallery, List, Tree, and Gantt, switchable per resource
- Form Sections — Organize create/update forms into collapsible titled sections with per-mode field visibility
- Conditional Fields — Field visibility, required state, and read-only state driven by other field values
- Lookups — Auto-fill related fields and cascading dropdowns from a foreign key selection
- Filter Presets — Saved, named filter shortcuts 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 RLS policies driven by Supabase Auth claims, 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 seven 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
- Drag & Drop — dnd-kit
- Tree View —
@headless-tree/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