Algorithmic recommendation engine using weighted cosine similarity and MMR diversification — zero LLM dependency, sub-50ms latency, serving four independent frontends.
Coffee Sommelier is a Grubhub-style platform for discovering cafes by location and taste preference. The system consists of four independent frontends: a consumer app (Vite + React) for browsing and ordering, an admin dashboard for cafe management, an embeddable widget for third-party integration, and a Next.js 14 B2B recommendation landing page. The FastAPI backend implements a deterministic scoring engine using weighted cosine similarity with MMR (Maximal Marginal Relevance) diversification — no LLM dependency. Features include geolocation with Leaflet maps, haversine distance filtering, cart/checkout, order tracking, PWA support, and a brew guide generator.
| Entry Point | consumer/src/main.tsx / backend/app/main.py |
| Build | docker-compose up --build |
| Run | docker-compose up |
| Architecture | Multi-frontend microservice — 4 apps + 1 API + PostgreSQL |
| Dependencies | 40 |
| Docker | Yes |
Multi-frontend microservice — 4 apps + 1 API + PostgreSQL