If you use Notez for anything with a lifecycle — a reading list, a backlog, client notes — you have probably built a Status property. Maybe an Assignee. Maybe a Project relation pointing at the project's own note.
And then, every time you wanted to see just the blocked items, or just your items, you opened the Filter popover, found the property, opened its picker, ticked the value, and closed two layers of UI. Three or four clicks for a question you ask twenty times a day.
Tags never had this problem. Tags have always had a section in the sidebar: one row per tag, a count, click to filter. It is the single most-used control in the app. The obvious question was why it was the only one.
What shipped
As of v0.8.0, any select, multi-select, member, or relation property can be shown in the sidebar as its own section. So can the built-in Board. Each section lists its values as rows — a coloured chip for an option, an avatar for a person, a note icon for a linked note, a column name for the board — with a count of the live notes that carry that value. Click a row and the list filters to it. Click a second row in the same section and you get either. Click into a different section and you narrow further.
You turn a section on from More → Custom properties: open the property, switch on Show in sidebar, save. To turn it off, hover the section's header in the sidebar, click the small settings button that appears, and choose Remove from sidebar. The property is untouched; only its sidebar presence changes.
Tags is on by default, because it always was. Board is off by default, because the board view already shows the columns and a second copy would be noise for most people. Both can be flipped from the same dialog.
The sidebar also got a smaller structural change that turned out to matter more than expected: New note and Home now stay fixed at the top, and Files, Bin, Settings and More stay fixed at the bottom, while only the sections in between scroll. If you surface four properties on a laptop screen, the primary actions no longer disappear off the top.
Why only those types
The first draft of this feature said "any property". The second draft, an hour later, said "any property whose values are a fixed set of things", and that is the version that shipped.
A sidebar row has to be a discrete value you can click. An option is one. A person is one. A linked note is one. A number, a date, or a line of text is not — filtering by those needs a range or a query, which is what the Filter popover's inputs are for. Putting a text property in the sidebar would mean putting a search box in the sidebar, and then it is not a sidebar section any more, it is a second filter popover with worse layout.
Relations needed one more decision. A select has a fixed option list; a relation's "options" are whatever notes people have linked to, which could be hundreds and changes every time somebody links one. Listing all of them would make the section enormous. So a relation section shows the ten most-linked live target notes, most-linked first, and the popover's search remains the way to reach the long tail. If you have a Project relation, the sidebar shows the projects with the most notes under them, which is nearly always the set you actually want to click.
Members were easy by comparison: the section lists the whole workspace roster, exactly like the popover's people picker, because a roster is small and bounded.
One filter, not two
The part we were most careful about is invisible when it works: the sidebar and the Filter popover are the same filter.
Notez keeps the list's filters in the URL. That was already true — it is why you can bookmark "everything tagged client-x with status blocked" — and the sidebar sections simply write to the same place the popover reads from. Click Blocked in the sidebar and the popover shows Blocked checked. Untick it in the popover and the sidebar row goes quiet. Clear clears both. There is no second state to fall out of sync, no "sidebar filter" as a concept separate from "filter".
That decision also fixed a latent bug. A hand-edited or stale URL could carry two filter tokens for the same property, and the server combined them with AND — so a note had to match both lists, which for a single-select meant it matched nothing, while the sidebar happily showed a row as active. The sidebar's click handler now drops every token for its property and writes back exactly one. The popover already did the same thing; the two just had to agree.
Two more edges, since the server caps the list at ten property filters: the sidebar refuses the eleventh with the same toast the popover uses, and a click computes the next URL from the router's current parameters rather than the ones the component rendered with, so two fast clicks, or a sidebar click racing a popover change, cannot silently drop one another.
What the plan review cut
This feature was planned in a document before any code, and the plan went through four reviews with different briefs — correctness, house rules, completeness, and "what here is over-engineered". The last one was the most useful, and it is worth saying what it removed.
Collapsible sections. The first plan added a chevron to every section and persisted the collapsed state per workspace, on the argument that several sections would push the bottom of the sidebar off screen. A reviewer pointed out that the sidebar body already scrolled independently of the bottom block, so the justification was simply false. Cut. (The fixed top block that did ship came later, from a different and real complaint.)
A dedicated server endpoint. The plan proposed a new query returning fully-formed sidebar sections — names, options, order, counts. A reviewer noticed that everything except the counts was already in the property list the app fetches for the Filter popover and the properties dialog, and that a second copy of names and options meant a second cache that could be stale. What shipped is one small counts-only query, keyed by option id, person id, or note id, and the sidebar derives the rest from data it already had.
A "Configure sidebar" link. We built a hover-revealed link under the sections that opened the properties dialog. It shipped to the development build, was looked at once, and was removed the same afternoon. The dialog is one click away under More, and a control that only appears on hover, at the bottom of a scrolling region, is a control nobody finds. The per-section menu that stayed does the job people actually have — get this one out of here — where they are already looking.
Metadata versus a column. The "show in sidebar" flag lives in the property's existing JSON metadata rather than a new database column. That is worth a sentence because it is the kind of choice people argue about. The flag is never filtered on in SQL — the client decides what to render from the property list it already holds — so a typed column would buy nothing but a migration. If that ever changes, the flag moves, and nothing else does.
Also in this release
A few things landed alongside the sidebar work.
Favorites. Pinned notes are now Favorites everywhere you see them, with a star in the note header and an amber filled star as the indicator. The sidebar section hides itself while empty, and starring a note no longer raises a toast — the star and the section already show the result. The single-letter
PandDcard shortcuts are gone; both actions live in the card menu.Home. The sidebar's top link is Home rather than All notes. The page heading still says All notes.
Prev and next on the board. With a card open in the side panel,
JandKnow step through that card's column. They used to be hidden on the board entirely.A tidier bottom block. Import, Custom properties, Integrations, and Shortcuts sit under a More toggle that grows upward, so the trigger stays put; Settings opens straight onto the Workspace tab, and the separate Workspace entry is gone.
Blue. The primary colour moved from violet to blue across the app, the landing page, and the icons.
And two fixes: the side panel's header showed the note's own title dressed as a breadcrumb, and now shows only the parent path; and the collapsed sidebar's border, which is how you drag it back open, had stopped taking clicks.
What it is for
The point of properties was never the properties. It was being able to ask "what is blocked?" or "what is mine?" and get an answer without thinking about the tool. For tags, that has always been one click. Now it is one click for the rest — and, because the sidebar and the popover are the same thing underneath, choosing where to click is the only decision left.
Turn a property on under More → Custom properties and see whether you stop opening the popover. We did.
Help: Custom properties · Organizing notes · Using boards · Changelog v0.8.0
Continue reading
The link we cut, and why it came back — v0.8.1 brings back Configure sidebar for an empty sidebar and adds Edit property to each section's menu.
Beyond folders: how Notez organizes notes — tags, sub-notes, boards and eleven custom property types, and why Notez has no folders.
The list you lose every time you open a note — a note opens in a side panel over the list, so the scroll position and filters stay where they were.