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.

MY ROLE
Solo — design, iOS,
backend, ship
STACK
React Native · Python
Celery · SpatiaLite
STATUS
Live · App Store
VISIT
Recommends feed showing a dish recommendation Recommends map view of top-rated dishes

Dish-level feed and local map discovery — votes and photos attach to the plate, not the venue.

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.

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.
App Store recommends.app
NEXT
Olympo