Platform Architecture
EveryBite is a nutrition intelligence platform that sits between restaurants and the applications guests use. We ingest nutrition data from multiple sources, process it with AI/ML, and serve it through APIs that power personalized dining experiences. This page walks through the architecture from top to bottom, starting with a high-level view and then drilling into each layer.About these diagrams: The integrations shown (e.g., Olo, Thanx, PAR) are examples of supported platforms. Not all integrations are live for every deployment. Contact your EveryBite representative for current availability.
High-Level Overview
At its simplest, the EveryBite platform has five layers:Layer 1: Consumers
Upstream: End users (guests, restaurant staff)Downstream: SmartMenu APIData Out: GraphQL queries, session IDs, guest preferences, search filters
AI Agents
Large language models and conversational AI that help guests find food through natural language:- “Find me something vegan under 500 calories”
- “What can I eat here if I’m allergic to peanuts?”
- “Show me high-protein options”
Partner Apps
Traditional mobile and web applications built by our partners (ordering platforms, loyalty providers, restaurant chains). These connect directly to the SmartMenu API (GraphQL) with full control over queries and data fetching. Key difference: AI agents use MCP for conversational access. Partner apps use GraphQL for programmatic access. Both hit the same underlying SmartMenu API.Layer 2: SmartMenu API
Upstream: Consumers (AI agents, partner apps)Downstream: EveryBite Platform (Core Services)Data In: GraphQL queries with filters (diets, allergens, calories), session IDs, chain IDsData Out: Dish results with match scores, nutrition panels, allergen lists, category counts
Initialization Queries
Called once when your app loads
allergens · diets · categories · nutrientsRuntime Queries
Called as users interact
dishes · dishesCount · dishDetailInitialization Queries
Called once when your app loads to populate filter UI. Key examples:Runtime Queries
Called as users interact with your app. Key examples:See the SmartMenu API Reference for the complete list of available queries and mutations.
Match Scoring
Every dish returned includes amatchStatus calculated against the guest’s preferences:
Layer 3: EveryBite Platform
Upstream: SmartMenu API (queries)Downstream: Data Platform (reads from database)Data In: Parsed GraphQL queries, session context, filter criteriaData Out: Personalized dish lists, calculated match scores, nutrition data, allergen classifications
Core Services
Session & Personalization Engine
Layer 4: Data Platform
Upstream: Data Sources (external systems), EveryBite Platform (read requests)Downstream: Database (writes), Platform Services (reads)Data In: Raw nutrition files, PDF documents, API feeds from ordering/loyalty systems, manual correctionsData Out: Standardized dish records, validated nutrition panels, allergen classifications, diet tags
Potential Future Additions: Health Apps (Apple Health, Fitbit) for personalized nutrition goals, and Inventory for real-time availability.
Ordering Pipeline
The ordering system is the source of truth for what guests can actually order. We sync menu items, categories, modifiers, and real-time availability so nutrition data only appears for items that are actually on the menu.
How it works:
- LLM matching links ordering items to nutrition data (95%+ accuracy)
- Unmatched items are flagged as exceptions and published to the Developer Portal
- Partners review exceptions and update item names in their ordering system and/or nutrition solution
- Changes sync automatically on the next data pull
Nutrition & Allergens Pipeline
This is where the magic happens. We ingest nutrition data from multiple sources, use AI/ML to classify allergens and diet tags, and link everything to the menu items guests are ordering. The result: accurate, actionable nutrition information for every dish. All data flows through our seven-layer ingredient hierarchy: Menu → Dish → Recipe → Prep Recipe → Ingredient → Ingredient Data → Ingredient Specification. This deep structure is how we trace allergens through house-made components and deliver precise nutrition calculations.
AI/ML Processing:
- NLP extraction to parse ingredients (92%+ accuracy)
- Allergen classifiers to detect FDA Big 9 (98%+ accuracy)
- Diet tagging for Vegan/Vegetarian/Pescatarian (97%+ accuracy)
Loyalty Pipeline
Loyalty data helps us understand guests before they even set preferences. With consent, we use purchase history and stated preferences to personalize recommendations from the first interaction—and for new guests, behavioral modeling provides intelligent defaults.
AI/ML Processing:
- Audience segmentation and cohort analysis
- Behavioral modeling for new guest personalization
- Industry trends across platforms (app vs kiosk vs web)
- Hot/cold insights: what’s trending, what’s declining
Pipeline Stages
Every pipeline follows the same journey from raw data to API-ready intelligence. This consistency ensures data quality and makes it easy to add new data sources as we grow.Layer 5: Data Sources
Upstream: Restaurant operations, third-party providers, government databasesDownstream: Data Platform (ingestion)Data In: Restaurant menus, POS item catalogs, nutrition lab reports, customer loyalty dataData Out: Menu structures, nutrition facts, allergen declarations, purchase patterns
Ordering Systems
What they provide: Menu structure, item availability, pricing, location dataLoyalty Platforms
What they provide: Customer preferences, purchase history (with consent)Nutrition Providers
What they provide: Nutrition facts, allergen classifications, ingredient listsKey Architectural Principles
No Caching Policy
Partners must not cache API responses. Allergen data can change at any time, and stale data poses a health risk. We handle caching internally so you don’t have to.
Source of Truth
The ordering system (e.g., Olo) is the source of truth for availability. SmartMenu never returns dishes that aren’t in your system.
Exact Matching
Dishes are matched by name between ordering systems and our nutrition database. Mismatches appear in exception reports.
Session-Based
Preferences are applied per-session, not stored permanently (unless using Passport). Every request requires a session ID.
Detailed Layer Breakdown
AI Agents
AI-powered assistants that can interact with restaurant menu data through natural language. These include:
AI agents connect via AI Tools, built on the Model Context Protocol (MCP), which provides tool definitions and context management for seamless integration.
Integration Layer
Two paths to integrate with EveryBite:Option A: MCP Integration
For AI-powered applicationsUse the Model Context Protocol to give your AI agents access to menu data, nutrition information, and dietary filtering.
- Tool definitions for common operations
- Context management across conversations
- Session handling built-in
Option B: GraphQL Direct
For traditional applicationsCall the SmartMenu API (GraphQL) directly from your mobile app, web app, or backend services.
- Full control over queries
- Flexible data fetching
- Standard HTTP integration
SmartMenu API
The primary interface for accessing EveryBite data. Built on GraphQL, it provides:Initialization Queries
Load filter options when your app starts:Runtime Queries
Fetch personalized menu data:Match Scoring
Every dish is scored against the guest’s preferences:- MATCH - Safe for the guest’s dietary needs
- ALMOST_MATCH - Minor conflicts (e.g., can be modified)
- NOT_MATCH - Does not meet preferences
EveryBite Platform
The core services that power personalization:- Core Services
- Profile / Session Engine
Data Platform
Where nutrition data is ingested, processed, and stored:Ingest Sources
AI/ML Processing
Machine learning models that enhance and classify data:Pipelines
External Systems
Data flows INTO the EveryBite platform from:Ordering Systems
- Olo
- PAR
- Toast (coming soon)
- Square (coming soon)
Loyalty Platforms
- Spendgo
- Thanx (in progress)
- Punchh (coming soon)
Nutrition Providers
- MenuCalc
- Trustwell
- USDA
Next Steps
Quickstart
Make your first API call
Authentication
Set up API keys and headers
Core Concepts
Understand the data model
SmartMenu API
Full API documentation

