AddThisFeature

Persistent View Preferences

Remember how each user arranged a screen instead of resetting it every visit.

moderate User Experience

What it adds

Per-user persistence of sort order, visible columns, filters, and layout choices, restored on return.

What your agent is told to do

5
  1. 1

    List every view-level choice the app currently forgets: sort, column visibility and order, filters, density, grouping, page size.

  2. 2

    Decide for each whether it belongs to the device, the account, or the workspace, and be consistent. A column layout is usually account-wide; a sidebar width is usually device-local.

  3. 3

    Restore preferences before the view renders, so the user never sees the default layout flash into their own.

  4. 4

    Version the stored shape and discard or migrate anything that no longer matches the current columns and filters.

  5. 5

    Do not persist transient state such as an open row, a search query typed once, or a selected checkbox. Restoring those is confusing, not helpful.

Edge cases it handles

6
  • A preference referencing a deleted column or a filter the user has lost access to must be dropped, not applied.
  • Signing in must not overwrite newer server preferences with stale local state left over from a signed-out session.
  • Two tabs open on the same view must not fight over the stored value.
  • Every persisted view needs a visible reset that returns it to defaults.
  • In a multi-tenant app, one workspace's layout must not leak into another.
  • A user with no stored preferences must get sensible defaults, not an empty layout.

Definition of done

7
  • Sort, filters, columns, and layout survive a reload and a new session.
  • Each preference has a documented scope: device, account, or workspace.
  • The saved layout is applied before first paint, with no visible reset.
  • Preferences referencing removed columns or filters are discarded cleanly.
  • Every view offers a reset to defaults.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.