← All work

Product engineering

WhamFood

Engineering an AI assistant for recipes and meal planning.

Built and operated by Outermost

AI engineering · Integrations · Web development

Visit WhamFood
WhamFood mobile meal planner showing a weekly schedule with recipe cards and controls for changing meals.
WhamFood meal planner, shown with sample data.

The product

From conversation to a plan for the week.

Links, photos, and conversation become saved recipes, meal plans, and shopping lists. A Telegram assistant and mobile web app connect to the same underlying system.

The Telegram assistant handles recipe intake and conversational changes. The mobile app makes it easy to browse the collection, adjust a meal plan, and work through a grocery list.

Recipes, plans, and lists also have shareable web pages, so the result can travel beyond the chat.

Inside the chat agent

Tool results feed the next model call. The loop continues until the agent can respond, with a limit on iterations.

  1. ContextRequest + recent conversation
  2. Claude SonnetChoose a tool
  3. ApplicationExecute + return result
  4. Claude SonnetContinue or respond

System architecture

How it fits together.

Calls and returned data

Interfaces

Telegram

Chat, links, photos
and video URLs

Mini App

Browse recipes, plan meals
and use shopping lists

Application

WhamFood

TypeScript / Node.js

  • Input routing & extraction
  • Agent loop & tool execution
  • API & result validation

Hosted on Railway

SQLite

Recipes, plans, lists
and conversation state

Models & services

Anthropic

Claude Haiku
Structured recipe extraction
Claude Sonnet
Conversation, tools & planning

Supadata

Video transcripts

Tavily

Recipe webpage content

Telegram and the Mini App connect to one application. It coordinates model and service calls, executes tools, and saves recipes, plans, and lists.

Providers and responsibilities
  1. Telegram + Mini App

    Chat accepts links, photos, and video URLs. The mobile app supports recipe browsing, meal plans, and shopping lists.

  2. TypeScript / Node.js · Railway

    The application routes inputs, validates results, runs the chat agent loop, and executes tools.

  3. Anthropic

    Claude Haiku extracts structured recipe details. Claude Sonnet handles conversation and tool selection. Mobile planning uses separate model calls.

  4. Supadata + Tavily

    Supadata retrieves video transcripts. Tavily retrieves recipe webpage content.

  5. SQLite

    Recipes, plans, lists, and conversation state persist in the shared application database.

WhamFood coordinates provider calls, executes tools, and stores the results. Both interfaces use the same application and saved data.

Engineering decisions

Connecting models to useful actions.

Give each model a job.

Claude Haiku extracts structured recipe details from source material. Claude Sonnet handles conversation and chooses tools. Mobile planning uses separate model calls with parsed, validated results.

Make actions persist.

The chat agent can find recipes, save a plan, or change a shopping list. The application executes each tool and returns the result to the model. Changes live in SQLite, ready for the next conversation or app visit.

Handle incomplete inputs.

Extraction distinguishes usable, partial, and failed results. Photo drafts retain corrections between messages, and estimated ingredient quantities from videos are identified in recipe notes.

Contact

What would you like to build or improve?

hello@outermost.us