Watch it work.
One minute on a live Shopify store: a first-time visitor, and how the page changes.
Transcript
This is a live demo of ob.session, a recommendation app for Shopify. This is an ordinary Shopify store. I've never been here before: no account, no history, nothing for a recommender to look up.
Let's go to any collection. These products were chosen at page load for this visit. This is the order it starts in, because the session hasn't shown anything yet. The grid, the cards, the theme are all untouched. The order is the default collection order, and the store just works as is.
Now I behave like a shopper with a preference. I came looking for shoes, classic ones. I looked at a few pairs, opened one, added one to the cart, with some clicking and hovering around. I like dark colors.
Now we go back to the trousers page. Same collection, same theme, same grid, same products — a different order, and only for this session.
The widget on the product page follows the same signal, so the whole visit stays consistent. Not two systems guessing separately. That's ob.session: reading what a shopper wants while they're still deciding, and shaping the whole visit around it.
Six pieces, one loop.
A model built for your store.
Recommendations run on a model built from your catalog and what sells in your store. As shopper data comes in, we may train a model specifically for your store. Your catalog, orders and shopper data are never made visible to another merchant.
Each next page is personalized.
From the first second a visitor lands, the engine reads their behavior — every hover, scroll, pause, and click. Each next page's recommendations are based on the visitor's full in-session activity, up to the moment that page opens.
ob.session reads 100+ behavioral signals.
100+ behavioral signals per session — clicks, add-to-carts, where the cursor lingers, which images get enlarged, how fast they scroll, when they backtrack, how long they pause on a hero image, and many more. All anonymous — no name, no email, no account ID. The weak signals are what let ob.session read intent even when a visitor hasn't clicked or added anything yet.
Every visitor gets their own recommendations.
As soon as a visitor opens a page, a request goes to the ob.session engine — while the page is still loading. The engine reads the visitor's full in-session activity up to that moment and returns the recommendations for that visitor. The whole loop happens within 200ms.
Widgets, collection pages, or both.
Two ways to show the recommendations on your storefront — both delivered by the same app embed, no separate integration. The first is widgets: recommendation rows that sit inside your existing home, collection and product pages. The second is collection page personalization: the products on your collection grids load directly in the personalized order — same grid, same look. The page opens already in that order, so there's no flicker, no shuffle, no second load for the visitor.
Picks come from across your catalog.
On widget rows and homepage placements, recommendations aren't limited to the categories a visitor has browsed. The same behavioral signals that shape the recommendations within a category — what they pause on, scroll past, return to — also tell ob.session when interest is shifting elsewhere. A visitor lingering on a wool coat without converting, then scrolling past every coat below, signals that maybe coats aren't it — and the recommendations start pulling from scarves, gloves, or boots.
Why weak signals add up.
Most visitors are strangers.
80%+ of ecommerce traffic is anonymous. Profile-based engines show them bestsellers. ob.session personalizes within the same visit.
Braze — 2.5B user analysis ↗One signal says little. A hundred say a lot.
Each signal rules out part of the catalog. In sequence they leave a few products.



Measured, not assumed.
A/B test vs an existing third-party recommender · 73,039 sessions
See the pilot results →The reasoning in full
Most sessions come from people who are not logged in and have no history with your store. Engines that need a profile have nothing to read, so they fall back to bestsellers. The session is the only data there is.
A single hover means almost nothing. A hundred signals in sequence — what was opened, skipped, returned to, and for how long — narrow down what this shopper is after within a few pages.
What someone wants today often differs from what they bought last season. Reading the current session keeps recommendations tied to the reason for this visit.