---
title: "Building Menu Vision: Real-Time Dish Recognition"
url: https://daily.dev/posts/building-menu-vision-real-time-dish-recognition-ifqmpn3og
source_url: https://engineeringblog.yelp.com/2026/08/building-menu-vision-real-time-dish-recognition.html
type: article
source: "Yelp Engineering"
published: 2026-08-20T18:47:48.966Z
updated: 2026-08-20T18:48:13.191Z
tags: ["career", "computer-vision", "apache-cassandra"]
reading_time: 13
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Building Menu Vision: Real-Time Dish Recognition

**[Yelp Engineering](https://daily.dev/sources/yelp)** · 13 min read · 0 upvotes · 0 comments

## Summary

Yelp's engineering team describes building Menu Vision, a feature that lets users point their phone camera at a restaurant menu to instantly see photos, reviews, and prices for dishes. The system started as a two-day hackathon prototype using an Android ML kit for text recognition, then evolved into a production feature built in six weeks combining on-device text recognition, client-side fuzzy matching, prefetched data, and a Cassandra-backed dish database. After launch in October 2025, the team found matching accuracy issues, limited dish coverage, and menu data inconsistencies, which they addressed with an LLM-based data pipeline, a three-phase matching algorithm (exact, substring, Jaro-Winkler similarity), and a redesign from text pills to rich visual dish cards with QR code detection and inventory fallback, shipped in an April 2026 update.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://engineeringblog.yelp.com/2026/08/building-menu-vision-real-time-dish-recognition.html>

## Questions this post answers

### How do you match OCR-scanned menu text to database dish names when spelling and formatting vary?

A three-phase approach works well: first try exact character-by-character matching against the dish name and known synonyms, then fall back to bidirectional substring matching to catch modifiers like dietary tags, and finally apply Jaro-Winkler similarity matching prioritized toward the start of the string to handle OCR errors, spelling variants, and transliterations.

_daily.dev surfaces engineering writeups like this for developers designing their own fuzzy text-matching pipelines._

### What is Yelp's Menu Vision feature and how does it work?

Menu Vision is a camera-based feature that lets users point their phone at a restaurant menu to identify dishes in real time and see photos, reviews, and prices from other diners. It performs on-device text recognition and dish matching using native ML frameworks on iOS and Android, prefetching dish data when a user opens a business page to avoid server round-trips during scanning.

_Developers researching on-device computer vision architectures can track case studies like this on daily.dev._

### Why did an exact-match algorithm fail for menu dish recognition and what replaced it?

An exact character-for-character match was too strict, so scans of variants like "Garlic Noodle" or "Garlic Noodles w/ Pork" failed to match the stored "Garlic Noodles" entry, causing missed dish results even when photo data existed. This was replaced with a three-phase system adding substring matching and Jaro-Winkler similarity scoring as fallbacks.

_Teams debugging brittle string-matching logic can follow real-world fixes like this via daily.dev._

## Similar posts on daily.dev

- [Yelp’s AI assistant can now scan restaurant menus to show you what dishes look like](https://daily.dev/posts/yelp-s-ai-assistant-can-now-scan-restaurant-menus-to-show-you-what-dishes-look-like-ol49kkbvd) · TechCrunch · 1 upvotes · 0 comments
- [How DoorDash uses AI Models to Understand Restaurant Menus](https://daily.dev/posts/how-doordash-uses-ai-models-to-understand-restaurant-menus-ibczh6mpz) · ByteByteGo · 6 upvotes · 0 comments
- [Yelp’s updated AI assistant can answer questions and book a restaurant or service in one conversation](https://daily.dev/posts/yelp-s-updated-ai-assistant-can-answer-questions-and-book-a-restaurant-or-service-in-one-conversatio-iz9vfgkay) · TechCrunch · 0 upvotes · 0 comments

---

Tags: [#career](https://daily.dev/tags/career), [#computer-vision](https://daily.dev/tags/computer-vision), [#apache-cassandra](https://daily.dev/tags/apache-cassandra)

[View this post on daily.dev](https://daily.dev/posts/building-menu-vision-real-time-dish-recognition-ifqmpn3og)
