
Overview
The problem
Standard e-commerce search relies on exact keyword matching, so a query like "fast bike" returns nothing against a listing titled "high performance motorcycle" — relevant products get missed simply because the wording doesn't line up.
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.
My role & approach
Solo academic project — I built the full recommendation pipeline myself, from embedding the product catalogue with SBERT to implementing the cosine similarity ranking and integrating it into the e-commerce flow.
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.
"Relevant products surface even when the exact words don't match."
Stack
Impact
Semantic search that works without exact keyword matches
all-MiniLM-L6-v2 embeddings for fast, quality semantic retrieval
Cosine similarity ranking across the full product catalogue