Step 01
Hand it the menu.
Photo it at the table. Import from your library. Or search the restaurant by name and Forkd pulls the menu it's already cached. Handwritten, printed, French, Korean — it reads them all.
input.menu = photo | library | restaurant search
detected = italian · primi · contorni · dolci
parsed = 37 dishes, 4 sections, 1 chef's tasting
Step 02
Forkd already knows you.
Onboarding + every dish you've rated has built your taste profile. Forkd scores every menu item against it automatically — your loved flavors, your textures, your dietary lines, your allergies. You don't tell it anything at the table.
Different mood today? Tap once: Safe, Comfort, Adventurous, Best value. All four buckets show by default — the tap just reshuffles which one leads.
profile.loaded = jason.l
last_30_meals = loved 4 · liked 7 · regretted 1
allergens = shellfish → warned, not hidden
→ best_overall = Tortellini en brodo · 94%
→ safe_choice = Pici cacio e pepe · 91%
→ adventurous = Charred octopus · 78%
→ best_value = Burrata, fig · 89%
Step 03
Order — without the regret.
Forkd surfaces 2–3 picks calibrated to your taste, with the reasoning a friend would give — texture, intensity, what it pairs with, and why it beat the other 35 things on the page for you.
pick.reason = “matches your texture-forward, quieter-
palate evenings; chef makes pasta from scratch”
pairs_with = glass of Frappato (light, juicy)
allergy_chip = safe for you
Step 04
Rate, in two taps.
A quick “loved it” or “meh” after the meal. That's the whole user input. Every rating quietly sharpens your taste profile, so next time the picks land closer to perfect.
feedback.dish = Tortellini en brodo
feedback.rating = loved
profile.delta = +0.18 texture-forward
+0.11 broth-based primi
+0.04 quieter palate at dinner
next_visit.bias = updated