Technical Memo · April 2026
TasteBuddy
The AI-Powered Restaurant Buddy for your tastebuds
Author Colin Chiapello
Live Web App tastebuddy-colinchia2.pythonanywhere.com
Status Production · Multi-user
AI Layer Perplexity sonar-pro + Claude Sonnet 4.6

TasteBuddy is a personal restaurant intelligence platform I built end-to-end. It lets users track every restaurant they visit, rank them across custom categories (Breakfast, Dinner, Tasting Menus, Ramen Night — whatever fits your life), manage a wishlist, and get AI-generated dining recommendations — all from one place.

The app solves a real fragmentation problem: most food-obsessed people scatter notes across Yelp, Google Maps, Beli, and saved Instagram posts. TasteBuddy consolidates everything into a structured, searchable record with social and AI layers on top.

Core features: visit logging (occasion, spend, party size, photos), a tiered ranking system (S/A/B/C across custom categories), Google Places–powered listing lookup, neighborhood Leaflet maps, an AI concierge, and a persona ecosystem for browsing other users' taste profiles.

TasteBoard is the personal analytics dashboard — visit streaks, cuisine breakdowns, spend trends, and crown awards (Most S-Tier Picks, Most Revisited, Widest Cuisine Range). The Tastie Score is a single engagement metric (0–1000) that grows as users rank more spots, log visits, explore cuisines, and follow personas — earning titles from Picky Eater to True Foodie.

Additional features: Photo Journal (photos tied to specific visits, permanently linked to rankings), Reservation Intel (save release dates + target dinner dates, get reminded when to book), and a Social Feed (public visit reactions and activity from followed users).

  • Backend
    Python · Flask
    Blueprint architecture, Flask-Login auth, SQLAlchemy ORM. Hosted on PythonAnywhere.
  • Data
    MySQL · Google Places API
    Relational DB for users, restaurants, visits, rankings. Places API for deduped listing lookup.
  • AI
    Perplexity sonar-pro
    Live web research agent — food media search with citation extraction and cost tracking.
  • AI
    Claude Sonnet 4.6 (Anthropic)
    Synthesis layer — personalizes Perplexity findings against user's actual taste history.
  • Frontend
    Jinja2 · Bootstrap · Leaflet.js
    Server-rendered templates, interactive neighborhood maps, HTMX for async updates.
  • Frontend
    Chart.js
    TasteBoard visualizations — visit-over-time line chart and cuisine breakdown pie chart.

When a user asks the AI concierge a question (e.g. "Help me find a restaurant for our anniversary dinner — she loves Italian"), a two-stage agent pipeline fires. First, a question classifier decides whether the query needs live web data or can be answered from the local database alone — skipping Perplexity entirely for simple lookups (zero API cost). For richer queries, Perplexity sonar-pro runs two parallel searches: one across food media (The Infatuation, Eater, TimeOut, Beli, Resy, Instagram, TikTok, and more!) and one across Reddit threads — both steered by the user's S/A-tier taste profile. Claude Sonnet 4.6 then receives the combined research output and a structured snapshot of the user's actual taste history — their rankings, visit log, wishlist, and active persona — producing a recommendation personalized to that specific user, with citations and a TasteBuddy Connection explaining exactly why each pick fits their palate.

User Query
natural language
Classifier
DB-only vs. web?
Perplexity
sonar-pro
live food media search
Claude Sonnet
synthesis + personalization
Response
cited + personalized