Less searching. More finding. Discover a store that gets you.
Behind your next favorite

A little science.
A lot of you.

This is the Personalized Product Recommendation System. Three complementary models turn shopping signals into a considered top-10 collection. No hard-coded recommendation scores. Just real calculations, made understandable.

A little science. A lot of you.

Good recommendations aren’t a coincidence.

Every interaction helps us understand what you love.

Explore the process

Your activity

Views, saves & purchases

Interaction data

Weighted signals

User-item matrix

A map of shared taste

Hybrid intelligence

Three models, one score

Ranking

Already purchased? Excluded.

Your top 10

New favorites, just for you

Collaborative filtering 50%+Content-based TF-IDF 30%+Popularity 20%Hybrid scoring
50%
Collaborative filtering

People with your kind of taste

We build a user-item matrix from weighted interactions, find similar users using cosine similarity, and aggregate their product preferences. The neighbor scores are normalized before combining.

30%
Content-based filtering

More of what you love

Product name, category, brand, description and tags become normalized TF-IDF vectors. Your activity forms a weighted content profile, which we compare with each product using cosine similarity.

20%
Popularity model

The community’s favorites

Views, clicks, saves, bag additions and purchases each contribute weighted counts. These totals are normalized across the catalog. For new users, popularity provides the entire ranking until an activity profile exists.

Not every signal is equal.

A purchase says more than a glance. Interaction weights reflect how strongly a user expresses interest.

1

view

2

click

4

wishlist

5

cart

8

purchase

A ranking, not a guess.

After score normalization, the hybrid combines 0.50 × collaborative + 0.30 × content + 0.20 × popularity. Already-purchased products are filtered out, and the 10 highest-scoring eligible products are returned with an explanation.

Try different sample profiles

How do we know it’s working?

We sort events by timestamp, train on the first 80%, and hold out the last 20%. Held-out wishlist, cart and purchase events define relevance. Previously purchased training items are excluded from evaluation. Precision@10 measures the share of relevant recommendations, Recall@10 the share of relevant items found, and NDCG@10 rewards placing relevant products higher in the ranking.

This is an educational evaluation over synthetic, category-correlated seed data. It is not a production accuracy claim. The app currently runs equivalent TF-IDF and matrix math in TypeScript, with saved records in the built-in key-value store—not a Python service.

Explore real evaluation results

Good finds. Delivered.

Free standard shipping on every order

Room to change your mind

A thoughtful 30-day return policy

Safe from start to finish

Free demo checkout — no real charges

⚡Remix on GenMB