← Selected work

Shopify App / Live social proof

Live Shoppers

A realtime layer for Shopify storefronts: real viewer counts, live cursors and shared carts, so a busy store finally looks busy.

Role
Solo founder: product, design and engineering
When
Oct 2026, live on the App Store
Platform
Shopify app with a realtime server
Links
Live Shoppers homepage
liveshoppers.app

The problem

Online, every shopper browses alone. Even a store with hundreds of visitors looks empty, and the social proof a physical shop gets for free is missing.

What I built

Live Shoppers shows real activity on the storefront: viewer counts on product cards, add-to-cart and sale moments, live cursors during campaigns, and shop-together carts with a reward. Campaign results are measured against a control group, so merchants see whether it actually moved conversion.

Under the hood

  • A standalone WebSocket server keeps rooms per shop and page. Cursor moves are batched to 20 updates a second, each room broadcasts at most 30 cursors, and viewer counts are only pushed when they change.
  • No secrets in the browser: an App Proxy issues short-lived HMAC tokens that the realtime server verifies, and expired tokens trigger a clean reconnect.
  • Cursors are anchored to page elements rather than raw coordinates, so they line up across screen sizes, and motion is eased in requestAnimationFrame.
  • Privacy and abuse limits: anonymous names, respect for the Customer Privacy API consent, payload caps and rate limits on the server.
  • Shopify features used together: a Theme App Extension, App Proxy, app metafields, a Discount Function and the Storefront API for shared carts.

Where it stands

Launched in October 2026 with a free plan for smaller stores.

Built with

React 19React Router 7WebSocketsTheme App ExtensionsApp ProxyShopify FunctionsStorefront APIesbuildPostgreSQL