Structured tables as first-class workspace citizens

Why every workspace app eventually reinvents the spreadsheet — and how we built tables with rich column types, filters, and relations from the ground up.

Structured tables as first-class workspace citizens

Every workspace app eventually adds a spreadsheet. The demand for structured data in a workspace context is universal.

Column types

Our tables support: text, number, date, datetime, boolean, select, multi-select, relation, URL, email, and phone. Each column type has a Zod schema for validation, a cell renderer, and a cell editor.

Relations

Relation columns link rows across tables. You can navigate from a task to its linked resources and back. Filters can query by related values inline.

Filters and sorting

Filters are composable rules: field + operator + value. Multiple filters are combined with AND. Filters are saved per view, not per table — the same table can have different filter states in different views.

Sorting is multi-column with drag-to-reorder priority. Sort order is also saved per view.

Cell-level merge

On pull, cell values are merged at the field level, not the row level. Last-write-wins per cell, with the server timestamp as the tiebreaker. Two users can edit different cells in the same row without conflict.