Benjamin Kincses
Built at Meta Global AI Developer Hackathon · Oct 26, 2026 · Remote
By Eye Measured from her hands. A family cook who never measures anything makes the dish the way she always has: "flour, until it feels right." When she is gone, the recipe is gone, because the amounts were never written anywhere. They live in her hands. By Eye turns a photo of a finished plate into a measured recipe card. Every amount on the card carries its evidence: what was measured, what it was anchored on, and an honest band around it. Where no number can be supported, the cook's own words stay on the card instead of an invented figure. How it works: 1. Muse Spark 1.3 looks at the plate photo and names each food item, in plain words a home cook uses. 2. SAM 3.1 segments every item. The mask is not decoration: its measured coverage of the photo is the size anchor for the amount. 3. Muse Spark 1.3 reads each amount with the SAM coverage in front of it, plus the plate itself as a ruler (a standard dinner plate is about 27 cm across). 4. Every amount passes through a band check before it is published. A read with real evidence ships with a band (for example, about 180 g, between 145 and 215 g). A weak read is flagged and struck in the app, never quietly sharpened. A count that was counted directly says so. Measured, not vibes: in the recorded plate evaluation run, the pipeline produced 21 reads, 19 of them scored against ground truth, 16 inside the bar, with a mean absolute error of 7.1 percent. The video pipeline is scored the same way against a published ground truth recipe (Pad Woon Sen, Hot Thai Kitchen), per ingredient, with the band checked for honesty: the band should contain the truth. Meta tooling: the runtime is Meta only. Muse Spark 1.3 and SAM 3.1 on the hosted Meta Model API do the identifying, segmenting, and measuring, and Muse Voice Transcribe turns a cook's narration into the phrases the card keeps verbatim. The mobile app makes no AI call of its own; it sends the photo to the FastAPI server, which runs the plate pipeline. There is an optional explicit-only route that runs Muse Spark Open, a Meta open weight model, on Baseten; it is never the default and never selected automatically. Try it: the repo is public and documented. Copy the variables from .env.example, add your own Meta Model API key, and rerun a live scan or the CLI. A recorded live scan is kept in the repo as evidence, and stub mode runs with no key at all. Demo video note: the narration in the demo video was generated ahead of time, offline, with ElevenLabs text to speech, and ships as static audio inside the video file. It is not a product feature. The product makes no text to speech call at runtime, and no non-Meta model is called at runtime anywhere in the app, the server, or the CLI. What this is for: heritage preservation. Recipes measured from her hands, written down while they still can be, in a form the next generation can actually cook from. Built with: Meta Model API, Muse Spark 1.3, SAM 3.1, Muse Voice Transcribe, Python, FastAPI, React Native, Expo, TypeScript, Remotion (demo video assembly only, not part of the product runtime).