Journal — Product

Product

Dashboards, onboarding, research rituals and the features we deleted. Notes from the product room.

The product big read

Command palettes: patterns for the Cmd-K era

When a Cmd-K palette earns its complexity: ranking that beats fuzzy match, mixing actions with navigation, keyboard ergonomics, discovery and mobile equivalents.

Product · 11 Aug 2026 · 8 min read · Aiko Tanaka
Overhead still life of scattered fern-green keycaps on cream paper falling into order beneath a brass magnifying loupe.
Product · 8 Sept 2026 · 8 min

Continue on your phone: handoff UX that doesn't lose people

Session and device handoff done properly: continue-on-another-device flows, magic links vs QR codes, delayed-resume UX and the honest security boundaries.

cross-device UXhandoffmobile web
Product · 27 Aug 2026 · 8 min

Bottom sheets that don't fight the user

When a bottom sheet beats a modal on mobile web: drag affordances, scrim honesty, snap-point logic, keyboard and screen-reader behaviour, and anti-patterns.

mobile UXbottom sheetsinteraction design
Product · 27 Aug 2026 · 9 min

Roles and permissions: the quiet complexity of team products

Designing roles that match customer org charts, permission matrices people can read, invitation-time clarity, escalation paths and guarding against the accidental admin.

roles and permissionsrbacteam products
Product · 15 July 2026 · 8 min

Announcements inside the product, minus the noise

In-product announcements without banner blindness: an announcements centre, targeting by behaviour instead of blast radius, and expiry rules that stay honest.

in-product messagingannouncementschangelog
Product · 2 July 2026 · 8 min

Optimistic UI, with integrity

Optimistic updates that keep trust: where optimism is safe vs dangerous, rollback UX when the server says no, reconciliation patterns and the latency maths behind it all.

optimistic UIlatency metricsstate management
Product · 30 June 2026 · 9 min

Two tabs, one truth: state across windows

Multi-tab state consistency without the baffling UX: storage events, BroadcastChannel, optimistic locks, and how to disclose last-write-wins before it betrays someone.

state managementmulti-tabconsistency
Product · 10 June 2026 · 8 min

Feature discovery: design for the day after launch

Shipping a feature is half the job. Announcement surfaces that respect focus, contextual education, suppression discipline, targeting and how to measure discovery lift.

feature discoveryannouncementsonboarding
Product · 9 June 2026 · 9 min

Progressive disclosure for genuinely complex tools

Hiding complexity without hiding power: sensible defaults as strategy, advanced modes, command palettes as the pro lane, and how to measure if disclosure works.

interaction designcomplex UIpower users
Product · 19 May 2026 · 9 min

Bulk actions: power without the footguns

Bulk operations done safely: selection across pages, previewing effects before applying, undo vs confirmation, progress states and permission boundaries.

bulk actionsbatch operationsmulti-select
Product · 12 May 2026 · 8 min

Settings IA: where features go to be findable

Settings screens are where growing products quietly drown. Grouping by user intent, search-within-settings, destructive zoning and how to migrate categories safely.

information architectureproduct designnavigation
Product · 22 Apr 2026 · 9 min

Activity feeds and audit logs: designing the product's memory

Activity feeds and audit logs are the product's memory: event grammar, grouping and noise control, filter architecture, and the enterprise sales case.

activity feedaudit logevent history
Product · 8 Apr 2026 · 9 min

What 30 pricing pages taught us about clarity

A research review of SaaS pricing pages: tier naming that means something, comparison tables that aren't mazes, honest annual toggles and enterprise patterns.

pricingconversionSaaS