The shared database your team can actually use
Import a spreadsheet and get a real database — linked tables, roles, comments and share links, live in the browser.
One tool, all of this
Three steps, and you never write a schema
Put the data in first; the structure comes out the other side.
- 01
Drop in a file
CSV, XLSX, or JSON. Every column gets a type from its values — a zip code stays 02134, not 2134, which is how most importers quietly wreck a column.
- 02
Give it a shape
Rename a column, change its type, point one table at another and the link runs both ways. Nothing rewrites a row, so you can change your mind and change it straight back.
- 03
Hand it to someone
Invite them by email at the role you choose, or send a read-only link to a view. No account needed, and hidden columns stay hidden.
The part that breaks when a second person shows up
A spreadsheet is fine until someone else opens it — then you're emailing versions around and one wrong paste is gone for good. SWAMP built this part first.
Five roles, and they mean something
Viewer, commenter, editor, creator, owner. The one that trips people up: an editor changes data and views, a creator changes the tables and fields themselves. SWAMP spells it out.
Comment without being able to break anything
For the person who should be able to say “this looks off” without touching the data. You can edit your own comment; nobody else can, at any role.
History, field by field
It records “Alice changed Stage from Open to Won,” not “someone updated this record.” The log is append-only — nobody rewrites it, the owner included.
Their edit shows up in your grid
No refresh button, and no tug-of-war over your cursor mid-word in a cell.
Send a link, not a copy
Share a view publicly, with a password if you want. A hidden column can't be filtered or searched by a visitor, so nobody infers a salary from the row count.
Forms that write straight into a table
Conditional questions, a fixed set of options, a redirect when done. Whatever the form doesn't show, nobody can make it write.
One table. However you need to look at it.
A view is a lens, not a copy. Change a value in one and it changes in all of them, because a single set of records sits underneath. Filters, sorts and widths are saved per view, so yours doesn't move someone else's.
Grid
Arrow keys, Tab, Enter to edit, ⌘C/⌘V as TSV that round-trips with Excel. A fill handle that continues a series. ⌘Z through all of it.
Kanban
Stacks from a single-select. Drag a card between them and the value changes.
Gallery
Cards with a cover image. Click one to open the record.
Calendar
Anything with a date, laid on a month. Drag to re-date it.
Form
A public page that writes into the table. No account needed to fill it in.
There's an API, and it isn't an afterthought
The same query engine the app uses, exposed. Scoped tokens, keyset pagination, a filter tree, and records keyed by a stable field key. Rename a column in the UI and your nightly script keeps working.
Webhooks fire on a condition you write like a filter. Every delivery is signed, retried, and logged.
A token can never do more than the person who made it. Permissions are recomputed on every call, so demoting someone stops their integration on the next request.
# every deal over $10k, biggest first
curl -H "Authorization: Bearer $TOKEN" \
"$API/tables/$T/records?sort=fld_total:desc"
{
"records": [
{ "id": "rec_…", "fields": {
"fld_company": "Globex",
"fld_total": 91750
} }
],
"cursor": "eyJrZXlz…"
}Questions people actually ask
Put a spreadsheet in. See what comes out.
It takes about a minute, and you don't have to decide anything first.