Back to work

SAVR - Context-Aware Dining Platform

A full-stack dining recommendation platform that uses user preferences, budget, social context, and intent to produce more relevant restaurant and experience suggestions.

Role
Product direction, backend API, frontend flows, data modeling, recommendation logic
Type
Full-stack product
Status
Live
Year
2026
SAVR ranked dining recommendations with suggested dishes and drink pairings
Ranked, explainable dining matches with a per-result fit score, suggested dishes, and drink pairings.

What this project solves

Restaurant discovery is often generic. It usually filters by location or cuisine, but ignores why someone is going out, who they are with, what mood they want, and what constraints actually matter.

How I built it

SAVR treats the dining decision like a context-aware recommendation problem. Users can describe their night, build their night through guided choices, or use a surprise flow to receive explainable recommendations.

System structure

  1. 01Frontend application handles onboarding, recommendation inputs, and result presentation.
  2. 02Backend API separates auth, restaurants, experiences, and recommendation routes.
  3. 03Database model supports user preferences, restaurant metadata, atmosphere tags, and future event signals.
  4. 04Recommendation layer maps user context to venue attributes and explains why a result fits.

Stack: FastAPI · React · TypeScript · PostgreSQL · JWT Auth · Recommendation Logic

Tradeoffs I made

Recommendation input model

Tradeoff

A simple restaurant list would be faster to build, but it would not capture why someone is going out, who they are with, budget, dietary limits, or atmosphere.

Outcome

Structured the product around Describe Your Night, Build Your Night, and Surprise Me so recommendation results can be explained and extended.

Backend and frontend contract

Tradeoff

Recommendation features become fragile when UI filters and backend scoring logic evolve separately.

Outcome

Kept API routes, data fields, and result cards aligned around explicit preference signals, restaurant metadata, and explainable output.

Proof before polish

Tradeoff

Premium visuals can make a product look finished before the recommendation logic and data model are actually useful.

Outcome

Prioritized working flows, authentication, restaurant data, presets, APIs, and recommendation cards before final visual polish.

What it looks like

What came out of it

  • 01Deployed and openable: a full-stack build spanning product direction, a FastAPI backend, a React and TypeScript frontend, onboarding, and explainable recommendation logic.
  • 02FastAPI backend route structure
  • 03React and TypeScript frontend architecture
  • 04Authentication and onboarding direction
  • 05Recommendation flows for Describe, Build, and Surprise modes

Next iteration

  • 01Add dish-level explanations and event-aware scoring.
  • 02Expand the recommendation model with saved presets and event signals.

Open to internships, junior technical roles, and project collaborations.

jpss2004@icloud.com