hey.food

Restaurant answers that show their work

Restaurant guidance is available through the hosted agent. The Rust CLI sends the request; hello.food identifies the place, finds the menu, and checks it against the relevant dietary profiles before answering.

heyfood ask "Find a Thai restaurant nearby that works for everyone in my household"

What happens after you ask

  1. 01

    Identify

    Find the restaurant or search area from the request and saved location. If location is missing, ask instead of inventing coordinates.

  2. 02

    Find the menu

    Check official links, known menu platforms, common menu pages, and other likely sources.

  3. 03

    Read it

    Handle the source format, organize items and sections, and record where and when the menu was found.

  4. 04

    Verify

    Make sure the menu belongs to the right restaurant before saving it. Wrong restaurant, no menu.

  5. 05

    Check dietary needs

    Compare the menu with the relevant profiles and keep each household member's concerns separate.

  6. 06

    Explain

    Separate restaurant fit, item concerns, confidence, unknowns, and useful questions for the kitchen.

One service finds and reads menus

Live requests, background jobs, menu refreshes, and Menu Watch all use the same menu reader. Letting every caller bring its own scraper would be a maintenance plan, just not a good one. The service reports which source it chose, which URLs it rejected and why, how well the menu matches the restaurant, what it found, and a clear error if time runs out.

POST /v2/menu/locate-and-extract

find candidate pages
discard bad URLs
read the menu
verify the restaurant
save a menu version
record the source

This endpoint is for internal services and admin tools. The public CLI reaches it through restaurant questions. Chain locations can share a verified parent menu after identity checks instead of creating quiet copies for every location.

Menus change. Track versions.

A successful refresh can create a new menu version and show item and price changes. Menu Watch uses the same menu reader on the restaurant's local schedule. It compares structured menu data, not raw HTML.

Useful restaurant turns

heyfood item "pad thai at Pismo's"
heyfood ask "Compare the best dinner options at this restaurant for Maya and me"
heyfood ask "What should I ask the kitchen before ordering?"