← Work / MotoVault
Academic project 2024

MotoVault.

Semantic product recommendation engine using SBERT embeddings and cosine similarity — finds relevant bikes from natural language queries.

MotoVault

— Overview

What it is

Standard e-commerce search is keyword matching — if you search "fast bike" and the listing says "high performance motorcycle," you get nothing. MotoVault uses SBERT embeddings to understand the semantic meaning of both the query and the product descriptions, then ranks results by cosine similarity. The result is a recommendation engine that surfaces relevant products even when the exact words don't match.

How I built it

The all-MiniLM-L6-v2 model was chosen for its balance of embedding quality and inference speed — important for a product recommendation use case where latency matters. Product descriptions are embedded at index time and stored, so queries only need a single forward pass at runtime. Cosine similarity was used over dot product because it's length-normalised, which matters when product descriptions vary significantly in length.

— Stack

Python SBERT all-MiniLM-L6-v2 Cosine Similarity scikit-learn

— Impact