One platform for every recommender
NSL trains every leading architecture on your own data, promotes the model that wins, and keeps one API in front of it all - so the model can change and your integration never does.








The control layer


Understand
A living map of your audience
Users, content, interests and behavioural clusters in one space you can actually look at.


Test
The best model for your data
Collaborative, content-based, sequential, graph and generative recommenders, trained on your actual behaviour and evaluated the same way on the same split.


Explain
A reason attached to every result
Any position decomposes into the interests, interactions, similarities and rules that produced it, with confidence attached.


Control
The final say over what is shown
Boost, suppress, exclude, pin, guarantee or quota content, and set how hard an editorial decision pushes against personalisation.
Train and compare different architectures, bring your own embeddings, inspect user interests and recommendation logic, then safely promote, roll back or override models without changing your application integration.
- 1
- 2
- 3
- 4
- 5
- 0.82suppress
- 0.58
- 0.90
- 0.68boost
- 0.74exclude
- editor's pick→boost
- over a day old→suppress
- already read→exclude
- 1
- 2
- 3
- 4
- 0.78
- 0.64
- 0.86pin
- 0.58exclude
- new listing→pin
- dates unavailable→exclude
- 1
- 2
- 3
- 4
- 5
- 6
- 0.78suppress
- 0.64
- 0.86
- 0.58
- 0.72boost
- 0.66
- in stock→boost
- margin under 8%→suppress
- 1
- 2
- 3
- 4
- 5
- 0.78
- 0.64
- 0.86suppress
- 0.58
- 0.72exclude
- seen it already→suppress
- seller blocked→exclude
- ▸
- 1
- 2
- 3
- 4
- 0.76
- 0.62suppress
- 0.88
- 0.70pin
- 0.54
- next in the course→pin
- skipped often→suppress
- 1
- 2
- 3
- 4
- 5
- 6
- 0.78
- 0.64exclude
- 0.86
- 0.58boost
- 0.72
- 0.66
- on offer→boost
- out of stock→exclude
- 1
- 2
- 3
- 4
- 5
- 0.70
- 0.86boost
- 0.64
- 0.78exclude
- 0.56
- in their size→boost
- sold out→exclude
- 1
- 2
- 3
- 4
- 0.78
- 0.64boost
- 0.86
- 0.58
- just posted→boost
Deployed across marketplaces, commerce, and publishing
- Travel
- Marketplace
- Publishing
- Retail media
- Jobs
- Property
- Classifieds
- News
- Motors
- Grocery
- Fashion
- Learning

See it on your own site
A working preview, from the pages you already publish. How it works
We only read pages that are already public, and we follow your robots.txt.
The control layer
Understand, test, explain, control
NSL does not replace the recommender - it is what sits above it. Every leading architecture trained on your own data and compared on the same footing, the winner promoted only while it keeps winning, and one API in front of all of it that does not change when the model underneath does.
Understand
A living map of your audience
Users, content, interests and behavioural clusters in one space you can actually look at. The communities in your data are found rather than defined, so the groups you did not know to look for turn up beside the ones you did.


Interests that change over time
Follow one person's interests as they move, and tell a settled taste apart from a single unusual session. Fragmented signals become one profile that keeps up - not an average of everything they have ever done.


Deep understanding of the content
Multimodal embeddings - TwelveLabs' Marengo, OpenAI, or your own - let ranking read photos, video, narration, objects, condition and setting rather than titles and tags. A new item can be placed the day it is published, with no interaction history at all.


Test
The best model for your data
Collaborative, content-based, sequential, graph and generative recommenders, trained on your actual behaviour and evaluated the same way on the same split. Replayed over your history first, and scored towards your outcome - watch time, completion, retention, purchases - not a fixed list of generic signals.


Automated promotion and rollback
A candidate only goes live when it beats the incumbent on the agreed metrics and stays inside your quality, diversity, latency and cost guardrails. Shadow first, then a canary on a slice of traffic, with automatic rollback if the live numbers move the wrong way.


Explain
A reason attached to every result
Any position decomposes into the interests, interactions, similarities and rules that produced it, with confidence attached. When a feed changes, see what changed it - and where the candidate models disagree about the same user.


Control
The final say over what is shown
Boost, suppress, exclude, pin, guarantee or quota content, and set how hard an editorial decision pushes against personalisation. Simulate the change against real traffic before it ships, so exposure across the catalogue is a decision rather than a side effect.


Multimodal · TwelveLabs Marengo
Read in sequence, not in stills
A cover photo says what is in one frame. It cannot say what the rest of the walkthrough shows. Multimodal embeddings read a listing video the way it plays - frame after frame, with sound and narration alongside - so a property, a vehicle or a product is placed by what it shows rather than by the one image chosen to represent it.
Order is part of the content
The same objects in a different order are a different clip. A reading taken over the run separates what is in an item from what happens in it.
Rankable before anyone has seen it
Because relevance is judged from the item itself, a listing can be placed the day it is published - no views, no tags, no interaction history behind it.
Whose embeddings is your choice
Marengo covers video, audio, image, text and document. OpenAI, an open-weights model you host, or one your own team trained attach the same way.
Ranking that works on behalf of catalogues
Can your recommender do this?
Not a different recommender - the layer above whichever one you run.
Content it can see
Photos, video, narration and objects read from the item itself, so a new one is rankable before it has a single view.
Model selection
Collaborative, content-based, sequential, graph and generative architectures trained on your behaviour and compared like for like, rather than one fixed model for every catalogue.
Safe releases
Shadow, then canary, then promotion - and automatic rollback the moment live performance drops.
Editorial control
Boost, suppress, pin or guarantee at request time, with the strength of the override set by you.
A traceable result
Every position decomposed into the interests, similarities and rules that produced it, with confidence attached and model disagreement shown.
Serving, not reporting
Built for the request path
Recommendations need to arrive while the experience is still happening. NSL is designed for low-latency serving, with behavioural signals continuously feeding back into what a user sees next.
One API can sit behind your homepage, feed, search, related content, product pages or any other recommendation surface - without your application needing to know which model, embedding provider or ranking pipeline is running underneath.
Respond in real time
Use live session behaviour to adjust ranking while the user is still browsing, searching or shopping.
One interface everywhere
The same recommendation contract across products, surfaces and model architectures.
Change the model, not your code
Rules resolve at request time and models sit behind the same call, so what surfaces can change with no retrain, redeploy or release on your side.
Adaptive relevance, in the open
Most engines guess.
NSL measures.
This sandbox is a real feed. A cursor hovers, adds to cart, and favourites items, emitting weak and strong signals that re-rank the grid as they land. Switch between two users to see the same catalogue resolve to two different front pages.
Operate the whole system in natural language
An MCP server over the same control surface the console uses. An AI operator can inspect analytics and catalogue data, or work with pipelines, rules and training runs directly - no separate, weaker API to fall back on.
Read the docs- Claude
- ChatGPT
- Codex
- Cursor
- Windsurf
Recommender Performance Index · v3.1
Put your catalogue to work
27 systems, scored against a frozen field on the same datasets and the same budget. Every number below is reproducible, and the ones we did not measure ourselves say so.
- 01ItemKNN + Multi-task ranker68.8
- 02ItemKNN + MLP ranker66.9
- 03VS-KNN65.2
- 04EASEᴿ64.5
- 05SASRec62.9
- 06VS-KNN + GBDT60.8
- 07Recency-Weighted Popularity60.2
- 08LightGCN59.8
- 09ItemKNN58.1
- 10BERT4Rec57.2
Where itemknn landedQuality only · cost and latency are never mixed in27 systems measured
Find the next one
Eight histories.
One next item each.
Every clue is what somebody did. The answer is what they reached for next, hidden in the grid, and the history is enough to work it out: the next stage of a story being followed, the day out a trip’s bookings point to, the tool the previous purchases were building towards. Drag across a word to claim it, or mark its first letter and its last.
Booked
Flight to Lisbon · Hotel in Alfama · Tram 28 tickets (6)
Viewed
Skoda Kodiaq · Kia Sorento · Hyundai Santa Fe (7)
Completed
Intro to statistics · Probability · Hypothesis testing (10)
Saved
Two-bed flat, Leith · Two-bed flat, Trinity (8)
Purchased
Espresso machine · Burr grinder · Milk jug (6)
Read
Trial opens · Witness evidence · Closing speeches (7)
Read
Dune · Neuromancer · Snow Crash (8)
Purchased
Cast-iron skillet · Carbon steel chef's knife · Dutch oven (9)
From the blog




















































