Skip to content

How do notes and lists coexist in one index and UI? #231

Closed

Description

@brianorwhatever

Part of #227

Question

How do notes and lists coexist in one index and one UI?

Same table, two products. A user's index page will hold shopping lists and prose notes side by side, and the list header, category assignment, and item-view-mode controls were all designed for lists.

Open: are they one stream or two? Is "note" a type flag, a view mode, or purely inferred from content shape? What does the list header show for a note? Does the recent legacy-list badge work interact with this?

Resolve with /prototype — build the index page both ways and react to it rather than arguing in the abstract. Link the prototype as an asset.

Activity

  1. brianorwhatever commented on Sep 30, 2026

    @brianorwhatever
    ContributorAuthor

    Prototype: three ways notes and lists share the index

    Branch: prototype/notes-index (throwaway, never merged — compare)
    Run: git checkout prototype/notes-index && bun run dev → http://localhost:5173/prototype/notes-index (DEV-only route, no auth, mock data in memory, nothing persists). ←/→ or the floating bar switch variants.

    Each variant lets you click a card to see its note header vs today's list header, and its "New" flow. Two legacy-badged lists (Costco run, Camping trip), two published/anchored entries (Launch checklist, "Why boop signs every list") and one pending-anchor note sit in every variant so the provenance cues can be judged next to the note cards.

    Index Note open New
    A ?variant=A ?variant=A&open=note-why-sign ?variant=A&new=choose
    B ?variant=B / &tab=notes ?variant=B&open=note-why-sign ?variant=B&tab=notes&new=note
    C ?variant=C / &folder=notes ?variant=C&open=note-why-sign ?variant=C&folder=notes&new=list

    Today's list header for comparison: &open=list-launch in any variant.

    A — one mixed stream

    Notes live in the user's existing category sections next to lists; the card shape is the type signal (prose excerpt + word count + vN where a list has a progress bar). "New" asks list-or-note first, then names it. The note header is the list header's skeleton with the item-view pill swapped for Edit/Preview.
    Trade-off it exposes: zero new navigation and categories keep working for both kinds, but every list-shaped control has to grow a note branch (menu copy, header pills, sort, search-by-body), and the index reads as "lists with some odd cards" rather than a notes product. The # Title in the body duplicating the title field is visible here.


    B — Lists / Notes tabs

    Lists tab is today's index untouched. Notes tab is its own surface: a flat, recency-sorted document list, search hits the body, no categories. The note page is the existing NoteEditor's compact header promoted, with an always-visible provenance strip (VC/anchor, signed-by, v3 sealed 2h ago, Publish). "New" is contextual to the tab, so no chooser.
    Trade-off it exposes: the provenance wedge gets the most room and nothing list-shaped leaks onto a note, but it is two products in one app: categories, favourites and templates become list-only, and the greeting/hero has to know which tab it is on. Cross-kind search and "everything I touched today" have no home.


    C — Notes as a built-in folder

    Categories become a folder strip filtering one card grid; 📝 Notes is a pinned system folder. Note cards keep the list card shell — the folder name in the mono line is the only type signal. "New" is today's Create List modal; picking the Notes folder flips it into a note form. The note header is today's list header with the item-view pill dropped.
    Trade-off it exposes: smallest diff and the mental model "a note is a list in the Notes folder" matches the data decision literally, but "note" is now a category, so Change category has to be disabled for notes, a note can't sit in Work, and every string still says "list" unless it checks the folder (see the menu). The dashed folder chip is doing a lot of work.


    All screenshots: docs/prototypes/notes-index/. Not closing this; the decision gets recorded from the reaction.

  2. brianorwhatever commented on Oct 3, 2026

    @brianorwhatever
    ContributorAuthor

    Closing as outdated: the current app already implements a mixed notes/lists index with an explicit, immutable note kind and note-specific header controls. The comparative prototype is linked in the earlier discussion; this decision ticket no longer needs to remain open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions