- 01rank candidates by intent
- 02weight by behavioural signal
- 03diversify the top-k
- 04serve top-k
Search and recommendations that work on request one. The same model reads your text, looks at your images, and ranks the catalogue — in 60 ms, on the 86% of sessions with no history at all.
Built on the shoulders of giants
One ranker, every surface
Recommendations - but everywhere.
The carousel, the listing, the search bar, the agent. One model ranks all of it - no second vendor, no second pipeline.
k = 3 · the rest of the catalogue is invisible here
Same ranker, same model, every surface — no second vendor for "recommendations," no frozen list waiting for next week's re-train.
Zero-shot · per request · per user
Every click reshapes the next page. Yours, not the cohort's.
Global sorts hand every shopper the same five top picks - and they're the first to sell out. Solenya re-ranks per request, so what surfaces first is what's in *your* size, in stock, right now.
top picks sell out first · same list for everyone
re-rank #N · per request · per anonymous session
Same catalogue, same second - different ranking. No segment, no cookie, no nightly retrain. One click reshapes the next page; the anonymous visitor next to you gets a different one.
The day-zero gap
Legacy never catches up. Every new SKU resets the clock.
New stock, new brands, new categories - each one knocks a click-history ranker back down. We rank from request one and don’t flinch when the catalogue moves.
Click-history rankers warm up over weeks — then every new SKU, brand, or category resets the clock. Solenya starts at par on request one and stays there.
More than a wrapper
Multimodal discovery, designed for multimodal agents.
Seamless hand-off. Agents - but personalised. Eval-led at every step.
{
"query": "warm waterproof boot under £150",
"modality": [
"text",
"image"
],
"top_k": 4
}Why we can do this
From separate jars to one kitchen.
Discovery has been stuck in separate jars - text in one vendor, images in another, behaviour in a third, products in a silo. We unified them to unlock a new generation of e-commerce experiences.
Same space. One ranker. Sub-60 ms P50.
Fig 1.0: unified_embedding_space
What that unlocks
Search by photo. Rank by intent. Recommend by both.
More than a thousand words. One model that reads, sees, and remembers the catalogue means the same query works in every modality - tap a pill to see it on a real listing.
Composed Image
Pair a reference image with a text edit — “like this, but in red” — and retrieve real SKUs from inventory.
Show me what looks like this.
Mise en place · before your data arrives
Your catalogue is a teaspoon. Pretraining is the supermarket.
Internal datasets are too small. A single public benchmark isn’t much bigger. Solenya understands every new brand, trend and category. From day zero.
Each public benchmark is one ingredient. Your catalogue is another. We pretrain on the whole pantry - your shoppers’ clicks just pick the recipe.
Post-training · the staff tasting
Discovery in the Post-training era.
Pretraining stocks the pantry. Post-training plates it. Before service the kitchen tastes its own work — seasoning it to perfection. Your shoppers are diners, not test subjects.
- 01rank candidates by intentsize > brand at browse
- 02weight by behavioural signaldemote 'sale' for premium
- 03diversify the top-k
- 04serve top-k+ outfit pairing on PDP
same printed recipe, every kitchen — only one of them tastes its work before service
Service · freshness, not yesterday’s hits
Recommendations that stay fresh. Catalogues that don’t feel smaller over time.
Freshness isn’t a campaign — it’s the willingness to keep exploring. Rankers that only double down on yesterday’s hits look like they’re optimising while the catalogue gets quietly smaller. Ours keeps reaching past the obvious, so the long tail, the re-emerging picks and the brand-new arrivals stay in play — and the storefront keeps feeling whole.
tastes shift — the catalogue stays whole
Every channel · one model
Same model, every level. Not just the search bar.
Inside Listings View, traffic splits across Browse, Search, Top-k Rec and Chat. Doubling the chat bubble shifts purchase by a chat bubble's worth. Solenya lifts the whole mix. Drag the sliders - or watch the demo run itself.
Shopper funnel · Listings View runs on four channels
- Browse(82% of listings)+0%
- Search(13% of listings)+0%
- Top-k Rec(3% of listings)+0%
- Chat(2% of listings)+0%
Drag a slider, or watch the demo.
Lifting one bubble lifts the dial by a bubble's worth. Solenya lifts every bubble — same model, every level.
Source: anonymised production telemetry; Solenya ranks every channel with the same zero-shot model.
Every request · ranked fresh
Your CDN hides 86% of your traffic. Personalising wakes it up.
Storefront origins only ever see the unique 14% - the rest gets cached at the edge. Personalise everything and that 86% has to be ranked on every hit. Roughly 7× the load your stack handles today. We absorbed the 7× - delivering a new, personalized experience to users in real-time.
- Solenya — ranks fresh, every request
- Legacy — cacheable or search-only
Same model, every request. The cache no longer hides the hard part.
Source: Solenya production telemetry. Multiplier = 1 / origin-visible share; assumes uniform per-request ranking cost.
Ship Discovery That Earns Its Numbers
Personalized results from day one: the moment a new user arrives, the moment a new product arrives, the moment a new category is launched, the moment you integrate.
Plugs into your stack
Blogs
Open-notebook research. Methods, confidence intervals, and the experiments that didn't work.