Social apps taught everyone to expect a feed that knows them. For a small marketplace, the usual route — tracking every gesture, a recommendation service, an AI call on every scroll — is out of reach and out of proportion.
The “For You” tab in the Vidifye app does it with arithmetic on data that was already there.
A by-product nobody was using
To search by meaning, every listing already had a vector: a list of 3,072 numbers describing what it is, computed once when the listing is published. Listings that are alike have vectors that point the same way. That is precisely what a recommendation needs — so the feed reuses them instead of computing anything new.
One signal: the heart
The feed learns from one thing: what people like, with a double-tap or the heart. Not what they scrolled past, not how long a video played. A like is a deliberate choice; a view can be a thumb that did not stop in time. It also keeps the feed explainable: it reflects what you told it, nothing else.
Your taste, as an average
- Take the 50 most recent likes. Each liked listing brings its vector along.
- Average them, newest first. Each older like counts 15 % less than the one after it, so the tenth most recent weighs about a quarter of the latest. Tastes change, and the feed follows.
- Store the result. One row per person, updated the moment they like or unlike something.
- Find the closest listings. When the feed loads, the database returns the listings nearest to that average — skipping the person’s own listings, what they already liked, and anything expired.
No AI model is called at any of these steps. The only AI cost was paid once, when each listing was described for search.
One in eight is a surprise
A feed that only shows what you already like narrows quickly. So in every block of eight, seven listings come from your taste and one is picked at random. The random order is fixed per person for the day — scroll down and back up, nothing repeats or jumps — and reshuffles the next morning. Like one of those surprises and it becomes part of your taste.
New users, and changing your mind
No likes yet? The feed falls back to what worked before: categories the person has shown interest in, then what is nearby, then what is new. Unlike something and the average is recalculated without it; remove the last like and the default feed comes back.
What it costs
It all runs in the same MariaDB database as the listings. Nothing about a person is sent to an AI provider to build their feed: their taste is a list of numbers in your own database, not a profile at a third party. Each person’s feed is cached for five minutes, so heavy scrolling costs the database little too.
What this means for an SME
If you already describe your catalogue for search by meaning — or plan to — recommendations come almost free: “more like what you saved”, “customers who liked this”, a personalised home page. The expensive part is describing the catalogue once. Everything after is arithmetic.
The real work is in the choices: which signal to trust, how fast tastes should fade, how much surprise to allow, and what a new visitor sees. Those are business decisions, not model choices.