The database table
Edit entries inline, add rows, add columns, and rearrange — all from the Collection detail page.
Open any Collection from the Collections sidebar and you land on its database table — a Notion-style grid of every entry of that Collection. It's the place to scan your data, fix typos without opening each entry, and add new properties without leaving the page.
The layout
┌────────────┬────────────┬──────────┬──────────┬──┐
│ Aa Name │ 📅 Date │ 💪 Reps │ 💬 Note │ +│
├────────────┼────────────┼──────────┼──────────┼──┤
│ 💪 Push-ups│ May 21 … │ 25 │ — │ │
│ 💪 Push-ups│ May 18 … │ 12 │ tired │ │
├────────────┴────────────┴──────────┴──────────┴──┤
│ + New entry │
└───────────────────────────────────────────────────┘
- Name and Date are always present and can't be deleted. By default Name comes first, then Date, but you can drag any column — including these two — to put them wherever you like. Whichever column ends up first stays pinned in place when you scroll sideways. Each row's Name shows an emoji in front — the entry's own emoji if you've given it one, otherwise the Collection's emoji. Click that emoji to open the picker and give the row its own icon right from the table (choose Remove to go back to inheriting the Collection's).
- Hover a row and an Open button appears at the right of the Name cell. One click jumps straight to that entry's full page — the same place the right-click Open takes you, without leaving the table to do it.
- Property columns sit alongside Name and Date. Drag any column header sideways to reorder — the order is saved per view, so each view of the Collection can lay its columns out differently.
- The + at the right edge of the header row is where you add new columns. The + New entry button below the rows is where you add new rows.
Editing a cell
Click a cell to edit it — just like Notion, the cursor lands exactly where you clicked in the text (no select-all, no boxy highlight), so you can fix a typo mid-word without retyping. The editor matches the property kind:
- Number / Text / Email / URL / Phone — text input. Enter commits + moves to the next row; Tab commits + moves right; Esc cancels.
- Checkbox — single click toggles it. No popover, no extra step.
- Date / Date+time — native picker.
- Duration — type
1h 30m,01:30, or90(minutes). The cell shows the humanised form. - Stopwatch / Timer — read-only sum of recorded intervals. To edit, right-click the row → Open, which takes you to the entry's detail page.
Edits save automatically as you commit them. The top bar shows Saving… then Saved. If something goes wrong you'll see Save failed and a toast with the error.
Adding a row
Click + New entry below the table. A fresh row appears at the top of the list with the event time set to right now and the Name selected for you to type over. Any defaults you've configured on the Collection's properties get applied automatically.
The row appears optimistically — you can start typing before the server has confirmed.
Deleting a row
Right-click anywhere on a row to open a small menu with Open (opens the entry's detail page) and Delete. Delete moves the entry to Trash, exactly like deleting from the entry page itself.
Adding a column
Click the + in the top-right of the header row. A popover opens with two parts:
- Property name (top) — what you want to call this column. Optional; if you leave it blank, the catalog property's own name is used.
- Select type — the property catalog grouped by section (General / Time / Fitness / Food / Other). Click one to add it.
You can pick the same kind multiple times — for instance, two Number properties named "kg" and "reps". Type the name first, then pick Number from the list; the new column shows up with your custom name.
Renaming, resizing, reordering, deleting columns
Click any column header to open its settings popover. Edit the name and press Enter (or click outside) to save.
The popover also has a Delete column option. Confirming will:
- Immediately remove the column from the table.
- Move the column to Trash (filter "Properties" to find them). From there you can Restore the column — cell values come back intact — or Delete forever, which permanently removes the column and every cell value tied to it.
- Pop a "Column moved to trash" toast with an Undo button for ~5 seconds. Tap Undo to restore the column without leaving the page.
Deleting a column is fully reversible until you Delete forever from Trash.
Drag the right edge of any column header sideways to resize it. Drag the header itself sideways to reorder — this works for every column, including Name and Date, and the order is remembered per view (resizing a column applies everywhere; only the order is per-view).
For more advanced per-Property settings — default values, "required" toggle, layout width on the entry page, Timer targets — click More settings → in the column popover. That switches the page to the Properties tab (/collections/[id]?tab=properties).
Sub-entry columns: the matrix view
If your Collection has a Sub-entries property — a Workout made of Sets, a Dish made of Ingredients — the table grows extra columns that turn it into a matrix: every entry on its own row, lined up so you can compare them at a glance — so you can read, say, every workout's front-squats side by side to see your progression.
Two kinds of column appear, after your regular property columns:
- A count column — named after your Sub-entries property ("Sets", "Ingredients"). Each cell shows how many children that entry has; hover it to peek at their names.
- One column per child Collection — a "Front squat" column, a "Bench press" column, and so on. Each cell summarises that entry's children of that Collection.
📅 Date │ Aa Name ┊ Sets ┊ 🦵 Front squat ┊ 💪 Press
─────────────┼────────────┼──────┼────────────────┼─────────
Mon 26 May │ 💪 Workout ┊ 4 ┊ 10 × 12 ┊ 33 × 33
│ ┊ ┊ 10 × 33 ┊ 22 × 22
How a cell summarises its children
Click a child-Collection column header to choose how that column collapses several children into one cell:
- List (default for number-based children) — each child stacked on its own line (e.g. each set's
reps × weight). Past four, the rest fold into a +N more you can hover. - Aggregate — one number: sum, average, min, max, last, or count of a field you pick (e.g. total reps, top weight).
- Count + peek (default for text/tag children) — just how many, with the full list on hover.
Pinned columns
Child Collections in the Collection's default sub-entries always get a column — even for an entry that skipped that one (the cell shows —), so your planned line-up stays visible. Any other child Collection you log appears as a column automatically.
Compact rows
By default each list cell stacks its children on separate lines. Flip the Compact rows toggle above the table to squeeze them onto one line (10×12 / 10×33 / +2) when you're scanning many entries at once.
Sub-entry columns are read-only here — click a child to open its entry; editing happens on the entry card or its detail page.
What's missing in v1
Some Notion features aren't here yet:
- More view kinds — you can switch this table for a Board view, but there's no gallery, calendar, or timeline view per Collection yet.
- Filtering and sorting — rows are shown newest-first by event time, always. No filter or sort controls in v1.
- Multi-cell selection / paste / fill-down — edit one cell at a time.
- Markdown isn't shown as a column — every entry has one markdown body which lives on the entry's detail page (open it via the row's right-click menu).
These are tracked for follow-ups.
Next
- Properties and the Title — every property kind in detail
- Editing an entry — the entry detail page where the markdown body lives
- Delete and restore — how deletion + Trash work