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 | What It Does |
|---|---|
| Agents | AI agents (Claude, GPT-4, chatbots, voice assistants) |
| Apps / Kiosks | Partner mobile apps, web apps, kiosks, POS systems |
| AI Tools | Tools and context for AI agents, built on Model Context Protocol (MCP) |
| SmartMenu API | The single interface to all EveryBite data, built on GraphQL |
| EveryBite Platform | Core services that store and personalize menu data |
| Data Platform | Data ingestion, pipelines, AI/ML processing, warehouse |
| Ordering | Menu structure, availability, pricing from Olo, PAR (Toast, Square coming soon) |
| Loyalty | Customer preferences and history from Spendgo (Thanx in progress, Punchh coming soon) |
| Nutrition & Allergens | Nutrition 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
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:| Query | Returns | Use For |
|---|---|---|
allergens | FDA Big 9 allergen list | Allergen exclusion checkboxes |
diets | Vegan, Vegetarian, Pescatarian, etc. | Diet preference toggles |
categories | Menu categories with dish counts | Category navigation |
nutrients | Nutrient types with min/max ranges | Calorie/protein sliders |
Runtime Queries
Called as users interact with your app. Key examples:| Query | Returns | Use For |
|---|---|---|
dishes | Filtered dish results with match status | Search results page |
dishesCount | Count of matching dishes | ”14 dishes match” feedback |
dishDetail | Full nutrition panel, allergens, diets | Dish detail modal |
calculateNutrition | Computed nutrition and allergens for customized dish | Build-your-own dish customizer |
guestProfile | Unified preferences, history, and behavioral insights across all platforms | Session 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 amatchStatus calculated against the guest’s preferences:
| Status | Meaning | UI Treatment |
|---|---|---|
MATCH | Safe for guest’s needs | Show prominently, green badge |
ALMOST_MATCH | Minor conflict (e.g., removable ingredient) | Show with warning, yellow badge |
NOT_MATCH | Does not meet preferences | Hide 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
Core Services
| Service | Responsibility |
|---|---|
| Menu Service | Stores dish catalog, categories, availability by location |
| Nutrition Service | Stores and serves nutrition data (calories, macros, vitamins) |
| Allergen Service | Tracks allergen classifications with ingredient-level sourcing |
| Search Engine | Full-text and filtered search across dishes |
Session & Personalization Engine
| Component | Responsibility |
|---|---|
| Preferences | Stores and applies guest dietary preferences per session |
| Dietary Profiles | Pre-built profiles (Vegan, Keto, etc.) that can be selected |
| Analytics | Captures anonymized usage for insights (what diets are popular, etc.) |
| Personalization | Calculates 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
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.| Source | Integration | Data |
|---|---|---|
| Olo | Real-time API | Menu sync, item availability, pricing |
| PAR | API | Menu structure, POS integration |
| Toast (coming soon) | Webhook | Menu updates, inventory status |
| Square (coming soon) | API | Menu catalog, location data |
- 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.| Source | Integration | Data |
|---|---|---|
| MenuCalc | Direct (sister company) | Full nutrition panels, recipe analysis |
| Trustwell | API | Genesis/Food Processor exports |
| Restaurant PDFs | OCR processing | Nutrition documents, allergen sheets |
- 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.| Source | Integration | Data |
|---|---|---|
| Spendgo | API | Customer preferences, loyalty program data |
| Thanx (in progress) | API | Customer segments, stated preferences |
| Punchh (coming soon) | API | Purchase history, reward status |
- 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.| Stage | What Happens |
|---|---|
| Ingest | Connect to source systems and pull raw data on a scheduled or real-time basis |
| AI/ML | Match items across systems, classify allergens and diets, extract insights |
| Pipelines | Transform, standardize, validate, and run quality assurance checks |
| Database | Store 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
Ordering Systems
What they provide: Menu structure, item availability, pricing, location data| System | Integration | Data |
|---|---|---|
| Olo | Real-time API | Menu sync, availability, order placement |
| PAR | API | Menu structure, POS integration |
| Toast (coming soon) | Webhook | Menu updates, inventory |
| Square (coming soon) | API | Menu catalog, locations |
Loyalty Platforms
What they provide: Customer preferences, purchase history (with consent)| Platform | Integration | Data |
|---|---|---|
| Spendgo | API | Customer preferences, loyalty program data |
| Thanx (in progress) | API | Customer segments, preferences |
| Punchh (coming soon) | API | Purchase history, reward status |
Nutrition Providers
What they provide: Nutrition facts, allergen classifications, ingredient lists| Provider | Integration | Data |
|---|---|---|
| MenuCalc | Direct (sister company) | Full nutrition panels, recipe analysis |
| Trustwell | API | Genesis/Food Processor exports |
| USDA | Database | Reference 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 Type | Description | Use Case |
|---|---|---|
| Claude / GPT-4 | Large language models | Conversational menu browsing, dietary recommendations |
| Custom Agents | Partner-built AI assistants | Branded experiences, specialized workflows |
| Chatbots | Text-based interfaces | Customer support, order assistance |
| Voice Assistants | Speech interfaces | Drive-thru, accessibility, hands-free ordering |
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:| Query | Returns | Purpose |
|---|---|---|
allergens | FDA Big 9 allergen list | Build allergen exclusion filters |
diets | Available diet types | Build diet preference toggles |
categories | Menu categories with counts | Build category navigation |
nutrients | Nutrient types with ranges | Build nutrient sliders |
Runtime Queries
Fetch personalized menu data:| Query | Returns | Purpose |
|---|---|---|
dishes | Filtered dish results | Search with dietary preferences |
dishesCount | Result count | Live filter feedback |
dishDetail | Full dish information | Nutrition 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:- Core Services
- Profile / Session Engine
| Service | Responsibility |
|---|---|
| Menu Service | Manages dish catalog, categories, availability |
| Nutrition Service | Stores and serves nutrition data |
| Allergen Service | Tracks allergen classifications and sources |
| Search | Full-text and filtered search across dishes |
Data Platform
Where nutrition data is ingested, processed, and stored:Ingest Sources
| Source | Type | Description |
|---|---|---|
| MenuCalc | Preferred | EveryBite’s sister company - direct integration, automated sync |
| Trustwell | Third-party | Industry-standard nutrition database provider |
| PDFs (OCR) | Manual | Restaurant-provided nutrition documents, processed via OCR |
| Manual Entry | Manual | Admin portal for direct data input |
AI/ML Processing
Machine learning models that enhance and classify data:| Model | Purpose | Accuracy |
|---|---|---|
| LLM Matching | Match dishes across naming variations | 95%+ |
| NLP Extraction | Parse ingredients from descriptions | 92%+ |
| ML Classifiers | Detect FDA Big 9 allergens | 98%+ |
| Diet Tagging | Classify Vegan/Vegetarian/Pescatarian | 97%+ |
Pipelines
| Stage | Purpose |
|---|---|
| ETL Processing | Extract, transform, load from sources |
| Standardization | Normalize nutrition formats to EveryBite schema |
| Validation | Data quality checks, range validation |
| Quality Assurance | Human review workflows for edge cases |
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

