Skip to main content

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:
LayerWhat It Does
AgentsAI agents (Claude, GPT-4, chatbots, voice assistants)
Apps / KiosksPartner mobile apps, web apps, kiosks, POS systems
AI ToolsTools and context for AI agents, built on Model Context Protocol (MCP)
SmartMenu APIThe single interface to all EveryBite data, built on GraphQL
EveryBite PlatformCore services that store and personalize menu data
Data PlatformData ingestion, pipelines, AI/ML processing, warehouse
OrderingMenu structure, availability, pricing from Olo, PAR (Toast, Square coming soon)
LoyaltyCustomer preferences and history from Spendgo (Thanx in progress, Punchh coming soon)
Nutrition & AllergensNutrition facts and allergens from MenuCalc, Trustwell, USDA

Layer 1: Consumers

Upstream: End users (guests, restaurant staff)Downstream: SmartMenu APIData Out: GraphQL queries, session IDs, guest preferences, search filters
Who uses EveryBite? Two types of consumers access the platform:

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”
AI agents connect through AI Tools, built on the Model Context Protocol (MCP). This provides tool definitions, context management, and session handling, allowing AI to call our APIs conversationally without building custom integrations.

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
The single interface to all EveryBite data. The SmartMenu API is a GraphQL endpoint that serves two types of queries:

Initialization Queries

Called once when your app loadsallergens · diets · categories · nutrients

Runtime Queries

Called as users interactdishes · dishesCount · dishDetail

Initialization Queries

Called once when your app loads to populate filter UI. Key examples:
QueryReturnsUse For
allergensFDA Big 9 allergen listAllergen exclusion checkboxes
dietsVegan, Vegetarian, Pescatarian, etc.Diet preference toggles
categoriesMenu categories with dish countsCategory navigation
nutrientsNutrient types with min/max rangesCalorie/protein sliders

Runtime Queries

Called as users interact with your app. Key examples:
QueryReturnsUse For
dishesFiltered dish results with match statusSearch results page
dishesCountCount of matching dishes”14 dishes match” feedback
dishDetailFull nutrition panel, allergens, dietsDish detail modal
calculateNutritionComputed nutrition and allergens for customized dishBuild-your-own dish customizer
guestProfileUnified preferences, history, and behavioral insights across all platformsSession start, personalization for new and returning guests
See the SmartMenu API Reference for the complete list of available queries and mutations.

Match Scoring

Every dish returned includes a matchStatus calculated against the guest’s preferences:
StatusMeaningUI Treatment
MATCHSafe for guest’s needsShow prominently, green badge
ALMOST_MATCHMinor conflict (e.g., removable ingredient)Show with warning, yellow badge
NOT_MATCHDoes not meet preferencesHide or gray out

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
Where data becomes personalized. The platform layer contains the core services that power personalization:

Core Services

ServiceResponsibility
Menu ServiceStores dish catalog, categories, availability by location
Nutrition ServiceStores and serves nutrition data (calories, macros, vitamins)
Allergen ServiceTracks allergen classifications with ingredient-level sourcing
Search EngineFull-text and filtered search across dishes

Session & Personalization Engine

ComponentResponsibility
PreferencesStores and applies guest dietary preferences per session
Dietary ProfilesPre-built profiles (Vegan, Keto, etc.) that can be selected
AnalyticsCaptures anonymized usage for insights (what diets are popular, etc.)
PersonalizationCalculates match scores, ranks results, applies business rules

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
The engine behind accurate, real-time nutrition data. The Data Platform ingests data from ordering systems, nutrition providers, and loyalty platforms—then uses AI/ML to match, classify, and validate everything into a unified database. Each data source has its own dedicated pipeline: Each data source flows through its own pipeline into the unified database.
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.
SourceIntegrationData
OloReal-time APIMenu sync, item availability, pricing
PARAPIMenu structure, POS integration
Toast (coming soon)WebhookMenu updates, inventory status
Square (coming soon)APIMenu catalog, location data
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.
SourceIntegrationData
MenuCalcDirect (sister company)Full nutrition panels, recipe analysis
TrustwellAPIGenesis/Food Processor exports
Restaurant PDFsOCR processingNutrition documents, allergen sheets
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.
SourceIntegrationData
SpendgoAPICustomer preferences, loyalty program data
Thanx (in progress)APICustomer segments, stated preferences
Punchh (coming soon)APIPurchase history, reward status
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.
StageWhat Happens
IngestConnect to source systems and pull raw data on a scheduled or real-time basis
AI/MLMatch items across systems, classify allergens and diets, extract insights
PipelinesTransform, standardize, validate, and run quality assurance checks
DatabaseStore in unified schema, ready to serve through the SmartMenu API

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
External systems that feed the platform. Data flows INTO EveryBite from three categories of external systems:

Ordering Systems

What they provide: Menu structure, item availability, pricing, location data
SystemIntegrationData
OloReal-time APIMenu sync, availability, order placement
PARAPIMenu structure, POS integration
Toast (coming soon)WebhookMenu updates, inventory
Square (coming soon)APIMenu catalog, locations

Loyalty Platforms

What they provide: Customer preferences, purchase history (with consent)
PlatformIntegrationData
SpendgoAPICustomer preferences, loyalty program data
Thanx (in progress)APICustomer segments, preferences
Punchh (coming soon)APIPurchase history, reward status

Nutrition Providers

What they provide: Nutrition facts, allergen classifications, ingredient lists
ProviderIntegrationData
MenuCalcDirect (sister company)Full nutrition panels, recipe analysis
TrustwellAPIGenesis/Food Processor exports
USDADatabaseReference nutrition data

Key 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:
Agent TypeDescriptionUse Case
Claude / GPT-4Large language modelsConversational menu browsing, dietary recommendations
Custom AgentsPartner-built AI assistantsBranded experiences, specialized workflows
ChatbotsText-based interfacesCustomer support, order assistance
Voice AssistantsSpeech interfacesDrive-thru, accessibility, hands-free ordering
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:
QueryReturnsPurpose
allergensFDA Big 9 allergen listBuild allergen exclusion filters
dietsAvailable diet typesBuild diet preference toggles
categoriesMenu categories with countsBuild category navigation
nutrientsNutrient types with rangesBuild nutrient sliders

Runtime Queries

Fetch personalized menu data:
QueryReturnsPurpose
dishesFiltered dish resultsSearch with dietary preferences
dishesCountResult countLive filter feedback
dishDetailFull dish informationNutrition panel, allergen details

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:
ServiceResponsibility
Menu ServiceManages dish catalog, categories, availability
Nutrition ServiceStores and serves nutrition data
Allergen ServiceTracks allergen classifications and sources
SearchFull-text and filtered search across dishes

Data Platform

Where nutrition data is ingested, processed, and stored:

Ingest Sources

SourceTypeDescription
MenuCalcPreferredEveryBite’s sister company - direct integration, automated sync
TrustwellThird-partyIndustry-standard nutrition database provider
PDFs (OCR)ManualRestaurant-provided nutrition documents, processed via OCR
Manual EntryManualAdmin portal for direct data input

AI/ML Processing

Machine learning models that enhance and classify data:
ModelPurposeAccuracy
LLM MatchingMatch dishes across naming variations95%+
NLP ExtractionParse ingredients from descriptions92%+
ML ClassifiersDetect FDA Big 9 allergens98%+
Diet TaggingClassify Vegan/Vegetarian/Pescatarian97%+

Pipelines

StagePurpose
ETL ProcessingExtract, transform, load from sources
StandardizationNormalize nutrition formats to EveryBite schema
ValidationData quality checks, range validation
Quality AssuranceHuman review workflows for edge cases

External Systems

Data flows INTO the EveryBite platform from:

Ordering Systems

  • Olo
  • PAR
  • Toast (coming soon)
  • Square (coming soon)
Provides menu availability, pricing, item IDs

Loyalty Platforms

  • Spendgo
  • Thanx (in progress)
  • Punchh (coming soon)
Provides customer preferences, purchase history

Nutrition Providers

  • MenuCalc
  • Trustwell
  • USDA
Provides nutrition facts, allergen data

Next Steps