Local is an iOS app I’m building on my own. You ask for food the way you’d text a friend, and it answers with one pick, two backups, and what to order.
Every pick is built from what critics, locals and creators actually say about a place, not a flattened star average.
Problem
Picking a place means an hour of maps, reviews and videos, and ratings don’t say what to order or whether it fits tonight.
Solution
One call instead of a list of twenty, built from critics, Reddit and creators, with a group mode and imports from notes, reels and Maps.
Results
A private beta in LA with the waitlist live. New York is next.
Deciding where to eat shouldn’t take an hour of reviews
Picking a place is a small decision that eats a lot of time. You check a map, then the reviews, then a list someone posted, then a video, and you still end up somewhere fine.
Ratings flatten everything
A 4.6 tells you nothing about whether it’s quiet enough to talk, or what to order.
The good stuff is scattered
Critics, Reddit threads and creators all know things, but they live in different places.
“Somewhere good” means a dozen things
Date night, a group of eight, one vegetarian: the right answer depends on who’s asking.
How might we turn everything a city says about its restaurants into one pick you can trust, for exactly what you want tonight?
Every screen, in the order you’d meet it
Local has three tabs, Home, Map and Saved, and it ships in light and dark mode. The screens below are real, from the beta, and they mix both modes.
Opening the app
Home asks one question, based on the time of day, like “dinner tonight?” or “something sweet?” late at night. One button makes the call, and the chips underneath cover everything else.


Telling Local your taste, once
Not every preference is equal, so taste has three levels: hard lines that are never broken (like allergies), dislikes Local avoids when it can, and boosts that make a pick feel made for you.


Asking
You can tap where, cuisine and occasion, or just type it like a text. Follow-ups work like a conversation, “what about something with meat? my friends aren’t vegetarian”, and when nothing fits, Local says so instead of forcing a pick.




One pick, two backups
Instead of a list of twenty, Local makes one call, with #2 and #3 a swipe away. Each card tells you what to order and one practical tip.



The place, in detail
Opening a place shows what to order from the menu, what it’s good for, parking, and why it fits you. When Local can’t confirm something, it says so plainly, like “vegetarian fit is not verified yet”. I’d rather it admit a gap than guess about someone’s diet.



Planning with friends
Picking for a group is the hardest case, so it has its own flow. Everyone shares their must-knows, and Local finds one place that works for the whole table. Scroll sideways for each step.






Map
Every pin carries its Local Score, so the strong spots stand out before you tap anything, scored by quality, not by who paid.


Saved
Saved splits Local’s picks from your own finds, and your finds can be filtered by where they came from: reels, notes or Maps. Paste a list and every place comes back as a real recommendation, with a score and what to order.




Pricing
A three-day free trial, then $2.99 a month or $29.99 a year. The paywall leads with what you get: the exact dish to order, unlimited picks, reels and lists turned into saved spots, and dinners planned with friends.

Built from what the city actually says
Every pick is read from critics, locals and the creators filming the city: Eater, the LA Times, the Infatuation, r/FoodLosAngeles, and the dishes people really order.

Local Score rates how good a place is, using ratings, critic coverage, standout dishes and creator posts. Whether it fits you is a separate question, answered by the pick.

Understand the ask first
An intent and conversation layer on the Claude API reads the request before anything is searched: where, what kind of food, the occasion, and for groups, everyone’s budget and diet.
Search what people wrote
A retrieval pipeline over reviews, critic coverage and creator content, stored as embeddings in Postgres with pgvector on Supabase.
Scope it to ship
v1 is one city, LA, done properly: every source, score and dish pick built for one place before spreading thin. v2 takes the same setup to New York.
A waitlist before the app
The landing page went live first, so there are people to hand the app to the day it’s ready.
Pick a request to see the parts the intent layer looks for. This is an illustration, not live output.
eatwithlocal.com
I designed and built the waitlist site to explain the app in three moves, ask, map and save, and to show the save-from-anywhere flows as they’d really happen on a phone.



LA first, then more cities
Local is in private beta in LA, and the waitlist is open at eatwithlocal.com. Next up is bringing Local to New York.


