← All work

MealScan

Photo-first food logging for iPhone. Snap a plate, get macros, and the pantry, recipes and shopping list update from there. All on-device.

MealScan is a kitchen app built around one loop. You photograph a meal and it's logged with macros in about a fifth of a second. Logging it depletes the pantry. The pantry drives the shopping list and ranks your recipes by what you can make right now. A photo of the fridge turns into three dinner ideas. Everything runs on the phone, and nothing leaves it except a barcode lookup.

Journal: a photographed plate logged as broccoli, squash and cauliflower, 105 kcal, with protein, carbs and fat Pantry: fridge items with grams on hand and days until they expire Scan the fridge: spaghetti squash and lemon recognised with confidence scores, and a button to add them to the pantry Make tonight: three ranked dinner ideas, each listing what you have and what you'd need
A logged plate, the pantry, a fridge scan, and the dinner ideas Apple's on-device model wrote from it.

The loop

One shared food catalog underneath. Each step feeds the next.

How the photo becomes a log entry

  1. A bundled MobileCLIP model recognises the dish zero-shot against a vocabulary of about 1,450 dishes. It runs the same on the simulator and the device.
  2. Vision sweeps regions of the photo and reads any packaging text.
  3. Apple's Foundation Models framework breaks the plate into components with a typed @Generable result, so the output is a struct, not prose to parse.
  4. Each component maps onto a bundled snapshot of USDA FoodData Central: 12,866 foods with household portion weights, so "one egg" has grams behind it.
  5. The entry is written optimistically and refined in place as the steps finish.

The barcode scanner is the one feature that touches the network. It resolves a UPC against Open Food Facts and caches the answer on the phone for good.

Status

iOS 26 only, since it leans on Foundation Models. 73 tests, including probes that prove the on-device model pipeline works in the simulator. It hasn't been submitted to the App Store yet.