> ## Documentation Index
> Fetch the complete documentation index at: https://docs.everybite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture

> How the EveryBite platform components work together

# 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.

<Note>
  **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.
</Note>

***

## High-Level Overview

At its simplest, the EveryBite platform has five layers:

```mermaid theme={null}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#1e40af', 'primaryTextColor': '#ffffff', 'lineColor': '#475569', 'fontFamily': 'system-ui, -apple-system, sans-serif', 'fontSize': '14px', 'clusterBkg': '#ffffff', 'clusterBorder': '#cbd5e1'}}}%%
flowchart TB
    subgraph Consumers[" "]
        direction LR
        Agents["AGENTS"]
        Apps["APPS / KIOSKS"]
    end

    MCP["AI TOOLS"]
    GraphQL["SMARTMENU API"]
    Platform["EVERYBITE PLATFORM"]
    DataPlatform["EVERYBITE DATA PLATFORM"]

    Agents --> MCP
    Apps --> GraphQL
    MCP --> GraphQL
    GraphQL --> Platform
    Platform --> DataPlatform
    DataPlatform ~~~ Ordering["ORDERING"] & Loyalty["LOYALTY"] & NutritionAllergens["NUTRITION & ALLERGENS"]
    Ordering -.-> DataPlatform
    Loyalty -.-> DataPlatform
    NutritionAllergens -.-> DataPlatform

    classDef dark fill:#1e3a8a,stroke:#1e3a8a,color:#ffffff,stroke-width:2px
    classDef primary fill:#2563eb,stroke:#1d4ed8,color:#ffffff,stroke-width:2px
    classDef tertiary fill:#3b82f6,stroke:#2563eb,color:#ffffff,stroke-width:2px
    classDef light fill:#e2e8f0,stroke:#94a3b8,color:#1e293b,stroke-width:1px
    classDef invisible fill:none,stroke:none

    class Agents,Apps dark
    class MCP,GraphQL primary
    class Platform,DataPlatform tertiary
    class Ordering,Loyalty,NutritionAllergens light
    class Consumers invisible
```

| 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

<Info>
  **Upstream:** End users (guests, restaurant staff)

  **Downstream:** SmartMenu API

  **Data Out:** GraphQL queries, session IDs, guest preferences, search filters
</Info>

**Who uses EveryBite?**

Two types of consumers access the platform:

```mermaid theme={null}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#1e40af', 'primaryTextColor': '#ffffff', 'lineColor': '#475569', 'fontFamily': 'system-ui, -apple-system, sans-serif', 'clusterBkg': '#ffffff', 'clusterBorder': '#cbd5e1'}}}%%
flowchart LR
    subgraph AIAgents["AI AGENTS"]
        Claude["Claude"]
        GPT["GPT-4"]
        Custom["Custom Agents"]
        Chatbots["Chatbots"]
        Voice["Voice Assistants"]
    end

    subgraph PartnerApps["PARTNER APPS"]
        Mobile["Mobile Apps"]
        Web["Web Apps"]
        Kiosks["Kiosks"]
        POS["POS Systems"]
    end

    AITools["AI Tools"]
    SmartMenuAPI["SmartMenu API"]

    AIAgents --> AITools
    PartnerApps --> SmartMenuAPI

    classDef agents fill:#1e3a8a,stroke:#1e3a8a,color:#ffffff
    classDef apps fill:#2563eb,stroke:#1d4ed8,color:#ffffff
    classDef integration fill:#3b82f6,stroke:#2563eb,color:#ffffff

    class Claude,GPT,Custom,Chatbots,Voice agents
    class Mobile,Web,Kiosks,POS apps
    class AITools,SmartMenuAPI integration
```

### 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

<Info>
  **Upstream:** Consumers (AI agents, partner apps)

  **Downstream:** EveryBite Platform (Core Services)

  **Data In:** GraphQL queries with filters (diets, allergens, calories), session IDs, chain IDs

  **Data Out:** Dish results with match scores, nutrition panels, allergen lists, category counts
</Info>

**The single interface to all EveryBite data.**

The SmartMenu API is a GraphQL endpoint that serves two types of queries:

<CardGroup cols={2}>
  <Card title="Initialization Queries" icon="download">
    Called **once** when your app loads

    `allergens` · `diets` · `categories` · `nutrients`
  </Card>

  <Card title="Runtime Queries" icon="rotate">
    Called **as users interact**

    `dishes` · `dishesCount` · `dishDetail`
  </Card>
</CardGroup>

### Initialization 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 |

<Note>
  See the [SmartMenu API Reference](/api/smartmenu/overview) for the complete list of available queries and mutations.
</Note>

### Match Scoring

Every dish returned includes a `matchStatus` 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

<Info>
  **Upstream:** SmartMenu API (queries)

  **Downstream:** Data Platform (reads from database)

  **Data In:** Parsed GraphQL queries, session context, filter criteria

  **Data Out:** Personalized dish lists, calculated match scores, nutrition data, allergen classifications
</Info>

**Where data becomes personalized.**

The platform layer contains the core services that power personalization:

```mermaid theme={null}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#1e40af', 'primaryTextColor': '#ffffff', 'lineColor': '#475569', 'fontFamily': 'system-ui, -apple-system, sans-serif', 'clusterBkg': '#f8fafc', 'clusterBorder': '#cbd5e1'}}}%%
flowchart TB
    subgraph CoreServices["CORE SERVICES"]
        Menu["Menu"] ~~~ Nutrition["Nutrition"] ~~~ Allergen["Allergen"] ~~~ Search["Search"]
    end

    subgraph SessionEngine["PERSONALIZATION"]
        Prefs["Preferences"] ~~~ Profiles["Profiles"] ~~~ Analytics["Analytics"] ~~~ Personal["Personalization"]
    end

    CoreServices --> SessionEngine

    classDef core fill:#2563eb,stroke:#1d4ed8,color:#ffffff
    classDef session fill:#3b82f6,stroke:#2563eb,color:#ffffff

    class Menu,Nutrition,Allergen,Search core
    class Prefs,Profiles,Analytics,Personal session
```

### 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

<Info>
  **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 corrections

  **Data Out:** Standardized dish records, validated nutrition panels, allergen classifications, diet tags
</Info>

**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:

```mermaid theme={null}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#1e40af', 'primaryTextColor': '#ffffff', 'lineColor': '#475569', 'fontFamily': 'system-ui, -apple-system, sans-serif'}}}%%
flowchart LR
    O["ORDERING"] ==> O1(["Ingest"]) ==> O2(["AI/ML"]) ==> O3(["Pipelines"]) ==> DB[("DATABASE")]
    N["NUTRITION &<br/>ALLERGENS"] ==> N1(["Ingest"]) ==> N2(["AI/ML"]) ==> N3(["Pipelines"]) ==> DB
    L["LOYALTY"] ==> L1(["Ingest"]) ==> L2(["AI/ML"]) ==> L3(["Pipelines"]) ==> DB
    H["HEALTH APPS"] -.-> H1(["Ingest"]) -.-> H2(["AI/ML"]) -.-> H3(["Pipelines"]) -.-> DB
    I["INVENTORY"] -.-> I1(["Ingest"]) -.-> I2(["AI/ML"]) -.-> I3(["Pipelines"]) -.-> DB

    classDef source fill:#e2e8f0,stroke:#94a3b8,color:#1e293b,stroke-width:2px
    classDef stage fill:#2563eb,stroke:#1d4ed8,color:#ffffff,stroke-width:2px
    classDef db fill:#1e3a8a,stroke:#1e3a8a,color:#ffffff,stroke-width:2px
    classDef future fill:#f1f5f9,stroke:#cbd5e1,color:#64748b,stroke-width:1px,stroke-dasharray: 5 5

    class O,N,L source
    class O1,O2,O3,N1,N2,N3,L1,L2,L3 stage
    class H,I,H1,H2,H3,I1,I2,I3 future
    class DB db
```

Each data source flows through its own pipeline into the unified database.

<Note>
  **Potential Future Additions:** Health Apps (Apple Health, Fitbit) for personalized nutrition goals, and Inventory for real-time availability.
</Note>

### 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           |

**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](/docs/concepts/ingredient-intelligence): 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   |

**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.

| 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            |

**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.

| 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

<Info>
  **Upstream:** Restaurant operations, third-party providers, government databases

  **Downstream:** Data Platform (ingestion)

  **Data In:** Restaurant menus, POS item catalogs, nutrition lab reports, customer loyalty data

  **Data Out:** Menu structures, nutrition facts, allergen declarations, purchase patterns
</Info>

**External systems that feed the platform.**

Data flows INTO EveryBite from three categories of external systems:

```mermaid theme={null}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#1e40af', 'primaryTextColor': '#ffffff', 'lineColor': '#475569', 'fontFamily': 'system-ui, -apple-system, sans-serif', 'clusterBkg': '#ffffff', 'clusterBorder': '#cbd5e1'}}}%%
flowchart LR
    subgraph Ordering["ORDERING SYSTEMS"]
        Olo["Olo"]
        PAR["PAR"]
        Toast["Toast"]
        Square["Square"]
    end

    subgraph Loyalty["LOYALTY PLATFORMS"]
        Spendgo["Spendgo"]
        Thanx["Thanx"]
        Punchh["Punchh"]
    end

    subgraph NutritionProviders["NUTRITION PROVIDERS"]
        MC["MenuCalc"]
        TW["Trustwell"]
        USDA["USDA"]
    end

    DataLake["Data Platform"]

    Ordering --> DataLake
    Loyalty --> DataLake
    NutritionProviders --> DataLake

    classDef ordering fill:#3b82f6,stroke:#2563eb,color:#ffffff
    classDef loyalty fill:#60a5fa,stroke:#3b82f6,color:#1e293b
    classDef nutrition fill:#93c5fd,stroke:#60a5fa,color:#1e293b
    classDef lake fill:#1e3a8a,stroke:#1e3a8a,color:#ffffff

    class Olo,PAR,Toast,Square ordering
    class Spendgo,Thanx,Punchh loyalty
    class MC,TW,USDA nutrition
    class DataLake lake
```

### 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

<CardGroup cols={2}>
  <Card title="No Caching Policy" icon="clock">
    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.
  </Card>

  <Card title="Source of Truth" icon="database">
    The ordering system (e.g., Olo) is the source of truth for availability. SmartMenu never returns dishes that aren't in your system.
  </Card>

  <Card title="Exact Matching" icon="equals">
    Dishes are matched by name between ordering systems and our nutrition database. Mismatches appear in exception reports.
  </Card>

  <Card title="Session-Based" icon="user">
    Preferences are applied per-session, not stored permanently (unless using Passport). Every request requires a session ID.
  </Card>
</CardGroup>

***

## 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        |

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:

<CardGroup cols={2}>
  <Card title="Option A: MCP Integration" icon="robot">
    **For AI-powered applications**

    Use 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
  </Card>

  <Card title="Option B: GraphQL Direct" icon="code">
    **For traditional applications**

    Call the SmartMenu API (GraphQL) directly from your mobile app, web app, or backend services.

    * Full control over queries
    * Flexible data fetching
    * Standard HTTP integration
  </Card>
</CardGroup>

***

### 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:

<Tabs>
  <Tab title="Core Services">
    | 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    |
  </Tab>

  <Tab title="Profile / Session Engine">
    | Component            | Responsibility                         |
    | -------------------- | -------------------------------------- |
    | **Preferences**      | Stores guest dietary preferences       |
    | **Dietary Profiles** | Pre-built profiles (Vegan, Keto, etc.) |
    | **Analytics**        | Tracks anonymized usage patterns       |
    | **Personalization**  | Applies preferences to search results  |
  </Tab>
</Tabs>

***

### 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:

<CardGroup cols={3}>
  <Card title="Ordering Systems" icon="utensils">
    * Olo
    * PAR
    * Toast *(coming soon)*
    * Square *(coming soon)*

    *Provides menu availability, pricing, item IDs*
  </Card>

  <Card title="Loyalty Platforms" icon="award">
    * Spendgo
    * Thanx *(in progress)*
    * Punchh *(coming soon)*

    *Provides customer preferences, purchase history*
  </Card>

  <Card title="Nutrition Providers" icon="apple-whole">
    * MenuCalc
    * Trustwell
    * USDA

    *Provides nutrition facts, allergen data*
  </Card>
</CardGroup>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/docs/quickstart">
    Make your first API call
  </Card>

  <Card title="Authentication" icon="key" href="/docs/authentication">
    Set up API keys and headers
  </Card>

  <Card title="Core Concepts" icon="book" href="/docs/concepts/hierarchy">
    Understand the data model
  </Card>

  <Card title="SmartMenu API" icon="code" href="/api/smartmenu/overview">
    Full API documentation
  </Card>
</CardGroup>
