# Cool Things We Built With Fuuz, Episode 1

> Patterns from the Fuuz partner solutions huddle: quality enforcement, packages, blue/green deployments and edge connections.

Source: https://www.fuuz.com/resources/perspectives/cool-things-we-built-episode-1

Partner huddle


Patterns from the Fuuz partner solutions huddle: quality enforcement, packages, blue/green deployments and edge connections.

[All videos](https://www.fuuz.com/resources/watch#perspectives)

> **Note:** For more information on details contained within this article, please reach out to our support team.

This article summarizes the key takeaways and reusable patterns from the **Fuuz Partner Quarterly Solutions Huddle** . You'll find practical examples, architectural notes, and implementation tips covering:

- In-process and lot-based **Quality** enforcement
- A high-performance **Blending Optimization** app (scrap metals; applicable to process manufacturing)
- The **Integration Tenant** pattern for scalable iPaaS
- A **Legacy Data Collection & Labeling** modernization on Fuuz (QAD)
- New **Platform Features** : Data Model Custom Fields, Timer element, Duration scalers, and Flow/Screen substitutions
- Roundtable highlights: **CSV / 21 CFR Part 11** , **Ignition partnership** , **Dockerized Edge Gateway** , community & training

Use this as a starting point to design similar solutions, accelerate delivery, and align your implementations with Fuuz best practices.

## Who Should Use This Article

- **Partners & SIs** building apps and integrations on Fuuz
- **Manufacturers** exploring MES/WMS/Quality and iPaaS with NetSuite, QAD, or other ERPs
- **Architects & Developers** who need patterns for quality enforcement, optimization, and scalable integrations

## Prerequisites

- Access to a **Fuuz Tenant** (Build/QA/Prod as applicable)
- Familiarity with **Data Models** , **Flows** , **Screen Designer** , **JSONata** , and the **Edge Gateway**
- For ERP integrations: credentials and sandbox access (e.g., **NetSuite** , **QAD** )
- For edge integrations: network connectivity for **OPC UA / MQTT** (or Ignition)

## Solution Showcases

### 1) In-Process & Lot-Based Quality Enforcement

**Presenter:** Fuuz

**Problem:** Operators could bypass critical inspections. Customer required pre-process, post-process, recurring (count/percentage), and lot-level checks—with **"prevent production"** capabilities and off-line lab result capture.

**Approach**

- Extended the **Quality** data model with **custom fields** to parameterize inspection types, intervals, and prevent-production behavior.
- Embedded inspection triggers into the **Control Panel** web flow that gates transactions until checks are completed.
- Built a **Quality Reports** screen to capture off-line lab outcomes and manage checks centrally.

**Key Configurations**

- **Intervals:** Pre, Post, Recurring by **count** or **percentage** , lot-level per work order
- **Flags:** `preventProduction`, `requiresHold` until pass
- **Recurring filters:** first N, last N, every Nth, ignore first N when counting, etc.
- **UI:** Tabbed **Control Panel** with a "Complete Check" action; **Quality Reports** for off-line completion

**Benefits**

- Zero "bypass risk" on shop-floor checks
- Configurable interval logic without schema rewrites
- Seamless off-line lab results integration (quality lab → production control)

**Implementation Notes**

- Use **Data Model Custom Fields** for configurable logic (see Feature #5 below).
- Embed check creation and gating inside **transaction flows** (produce/stop/unload).
- Provide at least one **off-line entry surface** for lab teams (Quality Reports).

### 2) Blending Optimization for Scrap Metals (Process Manufacturing Ready)

**Presenters:** PwC

**Problem:** A scrap metal processor needed **least-cost / maximum-profit** blends meeting customer chemistries. The legacy solver was external, expensive, and required manual Excel reconciliation plus complex ERP updates.

**Approach**

- Built a **Fuuz UI** that accepts customer specs (min/max, targets), costs, inventory filters (including 30+ composition inputs), and optimization objective.
- Formulated a **linear optimization** problem and executed via an ultra-fast solver.
- Produced a comprehensive **allocation/result report** , then automated **work order + BOM** creation and pushed **assembly build** results to **NetSuite** .

**Highlights**

- **127 inputs** on the blender UI; optimizer returns results in **~0.01s** (typical case)
- One-click **allocate** and **produce** ; dynamic BOM creation per sales order
- Supports **nominal chemistry** dilution and **lab uploads** (parse proprietary formats)

**Benefits**

- Eliminates external app dependency and recurring fees
- Dramatically accelerates scenario iteration
- Ensures ERP alignment (BOM/work order generated in Fuuz; posted to NetSuite)

**Implementation Notes**

- Create custom screens for **spec entry** , **inventory filters** , and **result reporting** .
- Encapsulate solver calls in **Flows** ; return **allocation + profitability** down to item level.
- Treat each blend as **unique to the sales order** ; **build BOM on the fly** and synchronize with ERP.

### 3) Integration Tenant Pattern: Scalable iPaaS for ERP/PLM/QMS/MES/WMS

**Presenter:** Fuuz

**Problem:** Point-to-point (spaghetti) integrations made change-management hard and limited enterprise scalability—especially with **ERP concurrency** constraints.

**Approach**

- Introduce a dedicated **Integration Tenant** that centralizes connections, staging, orchestration, metering, and error handling across systems (ERP, PLM, QMS, MES/WMS).
- Use **staging tables** and **orchestrated flows** for inbound/outbound traffic.
- Implement **retry** , **queuing** , and **concurrency controls** .

**Pattern**

1. **Inbound ERP sync:** Trigger (timer/event) → write to **staging** → request ERP → inbound handler → write to **target** (e.g., MES work orders) → close loop in **staging**
2. **Outbound MES/WMS:** Event → outbound handler → write to **staging** → ERP request → ERP ack → outbound staging completion

**Benefits**

- Horizontal scalability across **multi-site enterprises**
- Robust error tracking, **retries** , and controlled throughput
- ERP-agnostic architecture (swap ERP connections without re-wiring apps)

**Implementation Notes**

- Ship as a **Fuuz package** with pre-built flows and staging schemas (configure connections only).
- Align **naming conventions** and **routing keys** per domain (ERP, PLM/QMS, CRM, etc.).
- For **NetSuite** , explicitly configure **inbound/outbound concurrency** policies at the staging flow level.

### 4) Legacy Data Collection & Labeling Modernization (QAD)

**Presenter:** Strategic Information Group

**Problem:** Customer ran green-screen Telnet handhelds, needed a modern browser app **without retraining** , and had strict vendor/customer **label certifications** (ZPL). Integration options with **older QAD** were limited.

**Approach**

- **Recreated** prompt-by-prompt user experience in Fuuz with modern UX, touch support, and JSONata-driven logic.
- Delivered real-time QAD integration using a **Horizon interface** (compiled Progress code; round-trip queries & updates).
- Implemented **ZPL template** management with tagged placeholders (e.g., `|ITEM|`) and runtime string replacement.
- Added **Label Area previews** , one-click **reprint** , and LPR printing via QAD-defined printers (no 300+ printer setup in Fuuz).

**Highlights**

- 20+ transactions rebuilt; **5–6000 lines** of JSONata transformations
- **Screen Context** leveraged for state across steps
- Stress-tested with **20 concurrent operators** on high-volume license plating

**Benefits**

- Zero-retraining user experience
- Certified labels preserved, with improved management and preview
- Real-time integration—no batching for stale data

**Implementation Notes**

- Maintain **transaction parity** first; optimize UX second (if certifications constrain changes).
- Prefer **reusable Flows** over large event handlers to avoid duplication (DRY).
- Use **Label Print History** + **Label Area** for traceability and audit.

### 5) New Platform Features & UI Enhancements

**Presenter:** Fuuz

**A) Data Model Custom Fields:** Extend standard schemas (e.g., `User`, `WorkOrder`, `OperatorHistory`) without modifying the **underlying package schema** —preserving **upgradeability** .

- Add **badge number** , **full name** , **VIN** , **body number** , etc.
- Automatically available in **API** ; render with **screen elements** and **table columns** as needed.

**B) Timer Element (Screen Designer):** A configurable countdown with **progress bar** , **color transitions** , start/end date-time or duration.

- Example: green → yellow → red gradient, flash at end
- Use for step execution timing, SLA warnings, or gating controls (e.g., stop PLC at 0).

**C) Task-Driven Control Panels:** Embed tasks (scan, acknowledge, quality spec run, variable capture) inside a **multi-tab** control panel.

- Gate "Produce" until tasks **pass**
- Link **work instructions** (PDFs) directly into screens

**D) Duration Scalers:** Model duration fields contextually (**days/hours/minutes/seconds** ) and render with a **duration element** , avoiding unit misinterpretations across apps.

**E) Flow/Screen Substitutions:** Create substitutes instead of editing package cores: delivers **safe upgrade paths** for customer-specific customizations.

- File → **Create Substitution** on a Flow/Screen
- Pair with **Custom Fields** for data model extensibility

## Roundtable Highlights & Roadmap

- **Validation (Life Sciences):** Fuuz has engaged in **Computer Software Validation (CSV)** activities toward **21 CFR Part 11** alignment for cloud deployments; letters of process initiation available.
- **On-Prem & Docker:** Public **Docker images** are available for the **Edge Gateway** ; full-stack Docker deployment is forthcoming. **Portainer** templates are being explored to simplify multi-environment edge deployment.
- **Ignition Partnership:** Options to connect via **OPC UA / MQTT** today; a potential **Ignition driver / remote tag provider (GAN)** approach is being evaluated.
- **Community & Enablement:** New **podcast** format for release updates (short demo-driven episodes); **bootcamps** expanded to iPaaS use cases; **support.fuuz.com** and **community.fuuz.com** for release notes, discussions, and notifications.
- **Future Topics:** "**How to Make Money with Fuuz** " (integrator playbooks, ROI-driven selling, problem/solution packaging). Potential **in-person** sessions (Detroit) aligned with partner events.

## Reusable Assets & Packages

- **Integration Tenant (Package):** Staging schema, standard flows, concurrency/retry logic
- **Quality Enforcement Toolkit:** Pre/Post/Recurring check patterns and prevent-production logic
- **Blending UI & Flows:** Specs template, filters, solver integration, result report
- **Labeling Toolkit:** ZPL template management, print history & preview, LPR dispatch
- **Control Panel Components:** Task list, Timer element, Duration fields, Work Instructions link
- **Developer Utilities:** Custom Fields, Substitutions, JSONata patterns

> **Note:** Packages are available in the Fuuz Package Manager; contact Fuuz Support for access if not visible in your tenant.

## Best Practices

1. **Separate Concerns:** Keep ERP integrations inside the **Integration Tenant** ; applications consume staged data.
2. **Gate Transactions:** Use **prevent-production** checks and **Tasks** for operator guidance and compliance.
3. **Extend Safely:** Prefer **Custom Fields** + **Substitutions** over core schema edits.
4. **Consistency in Units:** Adopt **Duration Scalers** wherever timing matters (e.g., OEE).
5. **Optimize UX Last:** If certifications constrain behavior, **match legacy flows first** , then iterate.
6. **Measure & Share ROI:** Capture scrap reduction, throughput gains, time-to-value—support the "make money with Fuuz" narrative.

## FAQ

**Q1: Can I reuse the recurring inspection logic across products/sites?** **A:** Yes. Parameterize intervals & thresholds via **Custom Fields** ; package the flows/screens for reuse.

**Q2: How do I handle ERP concurrency limits (e.g., NetSuite)?** **A:** Centralize requests via the **Integration Tenant** , throttle with **staging flows** , and enable **retry/queue** semantics.

**Q3: Do I need to configure hundreds of printers in Fuuz for ZPL?** **A:** Not necessarily. If your environment supports **LPR** and printers are defined in QAD/edge, dispatch prints through the **Edge Gateway/Horizon** as shown.

**Q4: How do substitutions affect updates?** **A:** Upgrading the base package preserves your **Flow/Screen substitutions** , minimizing merge conflicts and downtime.

**Q5: Is the blending solution specific to metals?** **A:** The pattern is applicable to **process manufacturing** (e.g., food & beverage blends, master batch profiles). Adapt the spec/optimization model to your domain.

## Related Resources

- **Fuuz Release Notes:** subscribe for updates in the Support Center
- **Partner Bootcamps:** Developer 101 & iPaaS tracks
- **Community Threads:** Architecture, integration patterns, quality enforcement
- **Gateway & Edge:** Docker image registry info; Portainer template (coming)
- **Ignition Connectivity:** OPC UA/MQTT setup guides; best practices

## Changelog

- **2025-12-05:** Initial article published based on Quarterly Huddle recording
- **2026-Q1:** Planned updates—CSV progress notes, Integration Tenant package GA, Docker full-stack guidance

## Contact & Feedback

Have a solution to showcase, or want a deep-dive on any section? Reach out via your Partner Manager or post in **community.fuuz.com** under Solution Showcases. For package access or implementation help, open a ticket at **support.fuuz.com** .

## Appendix: Implementation Templates (Snippets)

JSONata patterns, Flow blueprints, and screen JSON exports can be attached to tickets or shared via Partner Git repos. Below are pseudo-snippets to orient your build:

```
// Example: Quality Spec Custom Fields (fragment)
{
  "qualitySpec": {
    "customFields": {
      "intervalType": "PRE|POST|RECURRING|LOT",
      "recurrence": { "mode": "COUNT|PERCENT", "everyNth": 5, "excludeFirstN": 2 },
      "preventProduction": true,
      "requiresHold": true
    }
  }
}

```

```
// Example: Integration Tenant Staging Record (fragment)
{
  "staging": {
    "source": "ERP.NETSUITE",
    "domain": "WORKORDER",
    "direction": "INBOUND",
    "payloadRef": "blob://…",
    "status": "QUEUED|PROCESSING|COMPLETE|ERROR",
    "retryCount": 0,
    "concurrencyGroup": "WO_INBOUND"
  }
}

```

```
// Example: ZPL Placeholder Replacement (pseudo)
^FO100,50^A0N,30,30^FD|ITEM|^FS

```

```
// Example: Duration Field (Data Model)
{
  "taskExecutionTime": {
    "type": "duration",
    "unit": "minutes"
  }
}

```

Get started

## See It On Your Data

Tell us what you run today. We will show you Fuuz working on your problem.

[Start the conversation](https://www.fuuz.com/contact)

Prefer to talk? Call [1-877-801-FUUZ (3889)](tel:18778013889)
