--- title: "Headless vs. app-based architecture" slug: "headless-vs-app-based-architecture" updated: 2025-12-19T21:40:21Z published: 2025-12-19T21:40:21Z canonical: "support.tulip.co/headless-vs-app-based-architecture" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.tulip.co/llms.txt > Use this file to discover all available pages before exploring further. # Headless vs. app-based architecture A critical architecture decision is **where machine logic executes**: headless (cloud/edge) or app-based (terminal). ## Trade-off matrix The table below explains different logic execution methods. | Method | Headless | Cost | Ideal use cases | Limitations | | --- | --- | --- | --- | --- | | **Machine triggers** | Yes | Included in Tulip machine license | OEE tracking, state management, simple part counting | Limited actions (state changes, activity fields only), **no expression editor**, cannot call connector functions | | **Automations** | Yes | Per-task pricing | Complex workflows, table writes, connector functions, external system integration | Cost scales with usage, **no completion records** | | **App triggers** | No | Included | Human-machine workflows, rich UI interactions, complex logic with expressions | **Requires app running on terminal**, not suitable for 24/7 monitoring | | **DataOps platform** (e.g. Litmus, High Byte) | Yes | Contact DataOps vendor | Advanced data normalization, time-series database, multi-protocol aggregation | Additional platform to manage, higher total cost, integration complexity | | **Edge device + Node RED** | Yes | One-time hardware cost | Highly customized logic, customer-owned infrastructure | Less reliable (**no failover/multi-threading**), harder to scale, maintenance burden | ## Decision criteria ### Machine triggers **Use machine triggers when:** - You need basic OEE tracking (state, part count, defects) - Logic is simple conditional checks (e.g., "if attribute > 10, set state to Running") - Cost optimization is critical (included with Tulip) ### Automations **Use Automations when:** - You need to write machine data to Tulip tables - Integration with external systems via connector functions is required - Headless operation is mandatory and budget supports per-task pricing **Example**: "When Machine 5 outputs defect code, create record in Quality Issue table AND send Slack notification" ### App triggers **Use app triggers when:** - Human operators are actively involved in the workflow - You need the expression editor for complex calculations - Workflow includes UI interactions (buttons, forms, scans) **Example**: "Operator presses 'Complete Run', app calculates OEE from machine data and displays result on screen" ### DataOps platform **Use DataOps platform when:** - You need sub-second data resolution (<1 Hz) - You need to aggregate data from non-Tulip-supported protocols - Time-series database is required for advanced analytics - Customer has existing investment in the platform ### Edge device **Use an Edge device + Node-RED when:** - You are running a proof-of-concept or pilot project - Customer has strong embedded systems expertise - Regulatory requirements prevent cloud-based logic execution - Budget constraints prohibit subscription software ## Further reading - [Machine monitoring app-based architecture patterns](/r230/docs/machine-monitoring-app-based-architecture-patterns) - [Create your first machine trigger](/r230/docs/create-your-first-machine-trigger) - [Automations](/r230/docs/automations-1) - [Edge IO](/r230/docs/edge-io) - [Node-RED](/r230/docs/node-red) --- Did you find what you were looking for? You can also head to [community.tulip.co](https://community.tulip.co/?utm_source=intercom&utm_medium=article-link&utm_campaign=all) to post your question or see if others have solved a similar topic! **OEE (Overall Equipment Effectiveness)** A key performance indicator (KPI) that measures manufacturing productivity by calculating the percentage of planned production time that is truly productive. **OEE** combines three factors: **Availability** (uptime), **Performance** (speed), and **Quality** (good parts produced). **Formula:** OEE = Availability × Performance × Quality **Scale:** Expressed as a percentage, where 100% represents perfect production (manufacturing only good parts, as fast as possible, with no downtime). **DataOps platforms** DataOps refers to integrated software solutions that streamline the collection, transformation, contextualization, and delivery of industrial data across operational technology (OT) and information technology (IT) systems. Key characteristics: - Edge-to-cloud data pipeline management: Orchestrate data flow from factory floor devices to enterprise systems and cloud platforms - Protocol translation: Convert between industrial protocols (Modbus, OPC-UA, Ethernet/IP) and modern IT standards (REST APIs, MQTT) - Real-time data processing: Apply filtering, aggregation, and transformation at the edge to reduce bandwidth and latency - Contextualization: Add metadata and business context to raw sensor data for meaningful analysis **Node-RED** **Node-RED** is an open-source flow-based logic language that runs natively on **Edge IO** and **Edge MC.** The Node-RED community has developed 3500+ libraries to interface with just about anything!