Multi-view data
Users switch between six different views for any table - no migrations or code required. The grid view behaves like a spreadsheet (edit cells inline, navigate with arrow keys, copy/paste a column). Group by enum columns to get an instant kanban; pick a date column to get a calendar; self-reference a parent_id and get a tree.
The capabilities you get out of the box.
Grid (spreadsheet)
Excel-style editable grid: click a cell to edit in place, arrow-key navigation, copy/paste, multi-row select. Not the same as a read-only table - this is your data, live.
List (compact table)
Read-only row table with sorting, filtering, and pagination encoded in the URL. Use it for browsing reference data where editing is not needed.
Kanban
Drag cards between status columns; mutations update Postgres in the background.
Calendar
Visualise records by any date column with day, week, and month layouts.
Gallery
Image-first cards driven by a `FILE` or `AVATAR` column - great for products, profiles, assets.
Tree
Render hierarchies from self-referencing foreign keys - org charts, BOMs, categories.
Three steps from SQL to UI.
- 01Pick a tableAny Postgres table or view with the right permissions becomes a viewable resource.
- 02Pick a viewSwitch grid → kanban → calendar → tree from the toolbar.
- 03Share with a URLFilters, sort, and view state round-trip through search params.
-- Enable kanban, calendar, and gallery views on a table
-- by listing them in the COMMENT JSON.
comment on table blog.posts is '{
"items": [
{ "id": "status", "type": "kanban",
"name": "Posts by status",
"group": "status", "title": "title",
"description": "excerpt", "badge": "featured" },
{ "id": "schedule", "type": "calendar",
"name": "Publishing calendar",
"title": "title", "startDate": "published_at" },
{ "id": "gallery", "type": "gallery",
"name": "Post gallery",
"cover": "cover", "title": "title", "badge": "status" }
]
}';Pairs well with
Try it on your own Supabase project.
Connect a project, install the Supasheet schema, and your tables are live in minutes.