Skip to main content
Back to Projects

Vinny: AI Beverage Concierge

Multi-category AI beverage concierge with a live public demo. Hybrid RAG over a ~100K wine catalog; the multi-category schema is built, with beer, spirits, and cocktails being added. Cohere reranking and an MCP tool layer.

2025 - 2026

Next.js
TypeScript
Supabase
pgvector
Vercel AI SDK
RAG
Multi-Category Schema
MCP
  • Phases 1-21 shipped; multi-category rollout in progress
  • ~100K wine catalog (CC0 X-Wines), 5K+ food pairings, multi-category schema built (wine, beer, spirits, cocktails) with ingestion in progress
  • Multi-category data model with separate per-category HNSW indexes
  • Hybrid retrieval combining vector search, keyword matching, and Cohere reranking, rather than vector search alone
Vinny: AI Beverage Concierge project screenshot

System Architecture

Vinny: AI Beverage Concierge system architecture diagram

The Problem

Wine recommendations are either shallow (filter by price/region) or require expensive sommelier expertise. Existing AI tools hallucinate wine names and tasting notes because they lack grounding in real inventory data. Pilot venues include wine bars, cocktail bars, and gastropubs, so wine-only is not enough.

Approach

Two-tier RAG over wine, then expanded to a multi-category schema (ADR-014) for beer, spirits, and cocktails. Each category gets its own table, HNSW vector index, and hybrid search RPC. Cross-category queries fan out via a unified search_beverages tool.

Architecture

Next.js 16 App Router with Vercel AI SDK v6 orchestrates OpenAI GPT-4.1 tool calls against Supabase (pgvector 1536-dim halfvec + tsvector hybrid search + RRF k=60 + Cohere reranking). Per-category tables (wines, beers, spirits, cocktails) keep vector spaces semantically coherent and RPCs type-safe. Additional tools: Grapeminds API for wine, WineVybe for beer and spirits, TheCocktailDB, Open Brewery DB, Tavily web search, and an MCP server.

Results

  • Phases 1-21 shipped; multi-category rollout in progress
  • ~100K wine catalog (CC0 X-Wines), 5K+ food pairings, multi-category schema built (wine, beer, spirits, cocktails) with ingestion in progress
  • Multi-category data model with separate per-category HNSW indexes
  • Hybrid retrieval combining vector search, keyword matching, and Cohere reranking, rather than vector search alone
  • Multi-tenant B2B SaaS with RLS and Staff Mode MVP
  • Live demo deployed on Vercel

Lessons Learned

Hybrid search (vector + keyword + reranking) outperforms vector-only retrieval where users mix conceptual and exact-match queries. When categories diverge in structure (wine vs. beer vs. cocktails), separate tables beat a polymorphic schema for both index quality and code clarity.