Raman Bhise @lostfleetdev

2025 · Live production service

Trekomend

Movie recommendation system

Movie recommendation system over 1.4 million TMDB films.

Status

Live production service

Ownership

End-to-end

Stack

PythonFastAPIFAISSLightGBMAstro

Problem

I wanted better movie recommendations and nobody was going to build them for me. So I built Trekomend: search by title, describe what you're in the mood for, or give it a list of movies you like and let it figure out your taste.

Implementation

Evidence

Live at trekomend.chaospunk.space. 1-5ms search latency, ~97% recall at nprobe=32, under 200 MB resident RAM.

Constraints & next step

Every movie gets turned into a vector using Qwen3-Embedding-0.6B. 1.4 million of them. FAISS searches through all of them in about 15 milliseconds. A LightGBM model re-ranks the top 200 candidates using 15 features, then a round-robin mixer keeps the genres varied. Without that mixer you get 2-4 genres. With it, 6-9.

The whole thing runs on a $6/month VPS. Under 200 MB of RAM. 48 integration tests, all passing. No GPU needed at serving time. The backend is FastAPI, job queue is Redis, frontend is Astro with GSAP animations, deployed behind Nginx with TLS.