Pear Desktop · planned
Desktop Overview
Not implemented yet. Planned as an enhanced large-screen version of the mobile
experience that shares the same backend, domain logic, and shared packages.
Runtime target
Build as a Pear Desktop application first, with Electron only as a fallback if Pear
blocks a concrete requirement. The desktop app uses Pear Desktop IPC for its embedded
backend path through the shared @listam/client adapter.
First milestone
Current Listam parity: invite create/join, peer and sync status, list and grid views,
grocery grouping and icon intelligence, shared Redux/domain logic, and shared
backend/client packages.
Large-screen improvements
Denser list and grid layouts, keyboard-first actions, a larger multi-pane structure,
clearer sync and peer diagnostics, and tray/status affordances where Pear Desktop
supports them.
Device operations
Easier review of invites, peers, and owned headless-device connections, including the
headless P2P owner-control adapter when the desktop app observes a user's always-on
personal server.
Verification
Testing
How an implementation agent tests the desktop app and proves it interacts with mobile and
headless. See also the implementation plans.
Unit
The shared @listam/domain, @listam/protocol, and
@listam/grocery suites run in Node — identical to mobile.
Integration
The Pear Desktop IPC adapter passes the same @listam/client contract tests
as the worklet adapter; keyboard actions and multi-pane behavior; the diagnostics panel
reads backend events.
Manual / E2E
Parity checklist on macOS/Windows/Linux; tray/status where Pear supports it; compare the
UI against listam-desktop/design-guide/.
How to run
Launch the Pear dev app; run the shared package suites with the Node runner; drive a
second instance (or a headless peer) for sync.
Interaction:
Desktop rows of the
cross-instance matrix:
mobile ↔ desktop generated/edited/completed/deleted content parity both directions,
desktop usable while mobile is offline, and desktop ↔ headless (join an invite created on
headless, drive owner-control from desktop, and sync content operations both ways).