PROJECT 01 · LIVE ON THE APP STORE
Recommends
Find the dish, not just the restaurant. Photo-backed recommendations from people who actually ate the thing.
Dish-level feed and local map discovery — votes and photos attach to the plate, not the venue.
The idea
Restaurant reviews rate the venue. Nobody rates the plate. Recommends is photo-backed, dish-level recommendations from people who actually ate the thing — so you arrive knowing what to order, not just where to go.
I designed it, built the native iOS app and the Python service behind it, and shipped it through App Store review on my own.
What made it hard
Canonical dish identity
Menus use messy names. Gemini suggests dishes on upload; Celery
later extracts inventory; exact and fuzzy matching merges
duplicates into per-restaurant dish SKUs.
Local discovery
Nearby ranking combines distance and social signal on SpatiaLite —
dietary filters are matched outside the ORM under those
constraints.
AI tradeoff
Fuzzy match fails open: if the model is unsure, it creates a new
dish rather than risk a bad merge. Protects the vote graph;
duplicates still appear on ambiguous names.
Privacy gates
Location for digests is throttled by time and distance rather than
raw GPS on every ping.
Inside the app