Projects/SwipeBite
WORKING DEMOFull-Stack Web AppIn Development

SwipeBite

Tinder for restaurants. Enter a city, get a stack of nearby places, swipe right on what looks good. Every swipe trains a taste profile that makes the next batch smarter.

This is a live working demo running against a real backend with a real database and Google Places API.

Next.js 16TypeScriptNode.jsExpressPostgreSQLPrismaJWT AuthGoogle Places API
SwipeBite feed

Working demo — backend running on Node.js + PostgreSQL + Prisma, real restaurant data from Google Places API, JWT auth with refresh tokens.

Live Screens

Every screen, running live

Captured from a running local instance connected to a real PostgreSQL database.

Swipe Feed
Features

What it does

Swipe to Discover

Tinder-style card swiping for restaurants. Right to save, left to pass. The gesture is fast and the UI gets out of the way.

AI Match Score

Every card shows a percentage match based on your taste profile. The more you swipe, the more accurate it gets.

Location-Based Feed

Enter any city or neighborhood. Results pull from Google Places and filter by distance, price, and cuisine.

Real-Time Hours

Open/closed status shown on every card based on the current time. No more showing up to a closed restaurant.

Saved List

Liked restaurants stack up in a personal saved tab. Browse them anytime, no more forgetting that place you wanted to try.

Taste Profile

Your preferences build up over time — cuisine types, price range, and location radius all feed the recommendation engine.

Roadmap

What I am building next

Group mode: swipe with friends and match on places everyone liked

Visit log to track restaurants you have actually been to

Photo strip from Google Places for richer cards

Push notifications for deals at saved restaurants

Filter by dietary restrictions (vegetarian, halal, gluten-free)

Architecture

How it is built

Frontend

Next.js 16 with Turbopack, TypeScript throughout, Framer Motion for swipe gesture animations.

Backend

Node.js + Express REST API. JWT access tokens (15 min) with refresh token rotation stored in PostgreSQL.

Database

PostgreSQL via Supabase. Prisma ORM with typed schemas for users, swipes, matches, and taste profiles.

Restaurants

Google Places API for real location data. Results cached per-query and filtered server-side by distance, price, and cuisine.

Personalization

Taste profile built from swipe history. Match scores computed per-restaurant by weighting cuisine, price, and distance against your preferences.