Connect · Automate · Secure

Connect anything.
Automate everything.
Secure what flows through.

Contact connects devices and APIs. Strand automates what happens next. Surface scans files and prompts. Secure connectivity and automation, without a vendor for each job.

The products

Contact

Contact

Register devices and APIs, send data over MQTT or REST, and validate every message on the way in — each one tagged pass or fail.

  • SDKs for Python, Go, JavaScript, and MicroPython
  • 15+ validation rules at ingress
  • Flash and provision a board from a browser tab, if you need to
  • OpenMV cameras with prebuilt detection models: tune, don't train
Strand

Strand

Build workflows visually: connect triggers to actions with logic, AI, and cloud connectors. No glue code required.

  • Drag-and-drop editor with branching, loops, and AI nodes
  • 30+ connectors: Slack, S3, Kafka, Redis, and more
  • Human approval gates and full execution traces
Surface

Surface

Send a file or a payload, get a verdict. ML-driven detection for uploads and prompt injection, without a security team on staff.

  • ML models, YARA, and prompt-injection detection in the scan response
  • Payload scanning for AI agents: stop prompt injection at the gate
  • REST API, MCP server, and language SDKs

Why one vendor

You shouldn't need seven tools to connect, automate, and secure

7 tools you'd run

One vendor

Data connection

Receives data from devices and APIs

Data checker

Flags bad data the moment it arrives

Dashboards

Live charts of the data you collected

Contact
Automation tool

Sends Slack, saves files, or runs the next action

AI tool

Classifies, summarizes, or writes

Strand
File scanner

Scans uploads before you trust them

Prompt filter

Checks text before it reaches an AI

Surface

No toolchain required

Flash a bare microcontroller from a browser tab

Plug an ESP32 into USB and open the Device tab. Tendrl flashes MicroPython, writes the Wi-Fi and API key, installs the SDK, and hands you a live terminal and file editor, with no esptool, no drivers, no serial monitor, and nothing to install.

  • Flash MicroPython from the live build list, or your own .bin
  • Auto-detect the board and size the install to its free heap
  • Edit and run files on the device with output streaming back live
  • Preview an OpenMV camera and tune a detector by eye, then export it

It runs on WebSerial, so it is genuinely local: your API key and Wi-Fi password travel from the form down the USB cable, never through our servers.

See the device workbench
Flashing MicroPython onto an ESP32 from the browser
Device Tab

Flash, provision, edit files, run scripts, and preview the camera, all from a browser tab

See it in action

Built for builders

The Device tab: connection, provisioning, terminal, files, and camera
Device tab screenshot

Flash a board, provision it, edit files, and run scripts from a browser tab

Tuning an on-device detector in the vision playground
Vision playground screenshot

Prebuilt detectors running on the board: tune by eye, then export the deployable file

Strand visual workflow editor
Strand workflow editor screenshot

Drag-and-drop nodes, connect triggers to actions, add branching and AI

Strand workflow run history
Run history screenshot

Full execution traces, step-by-step debugging, performance metrics

Developer experience

Pick your language, start shipping data

Connect over MQTT or REST. Every SDK handles connection management, batching, retries, and offline storage, so you write application logic, not infrastructure code. The complexity is abstracted. The performance isn't.

Python

Python

Ideal for Raspberry Pi, servers, and data pipelines. Auto-batching and SQLite offline cache.

uv add git+https://github.com/tendrl-inc-labs/contact-python
Go

Go

For high-throughput services. Thread-safe with BoltDB persistence and auto heartbeats.

go get github.com/tendrl-inc-labs/contact-go@latest
JavaScript

JavaScript

Browser and Node.js. React hooks, IndexedDB offline storage, and batching built in.

npm install github:tendrl-inc-labs/contact-js
MicroPython

MicroPython

Built for ESP32, Pico W, and OpenMV cameras. MQTT over TLS, JPEG streaming, and on-device vision.

mpremote mip install https://app.tendrl.com/api/public/sdk/v1/latest/mpy/package.json
AI in every workflow

Classify, summarize, or generate, with memory and tool use

MCP, both ways

Give AI nodes tools via MCP, and plug Contact, Strand & Surface into any LLM to build faster

Intelligence layer

Add AI without another service

Drop an AI node into any workflow. It gets conversation memory, configurable temperature, and automatic retries. Or expose your entire platform to AI assistants via MCP.

  • OpenAI, Claude, and Gemini: pick per step
  • MCP servers for Contact, Strand, and Surface: manage devices, trigger workflows, scan data
  • Built-in AI skills: connect an MCP client and get guided workflows automatically
  • Token tracking and cost controls built in
  • Works with Cursor, Claude Desktop, and any MCP client
  • Works with any MQTT client, so your existing fleet can talk to AI without our SDKs

What people build with Tendrl

Production-ready from the start

Simple enough to start in minutes. Engineered to run in production. Security, performance, and observability are built into every layer, not bolted on after.

Free tier forever Deploy in 5 minutes Encrypted in transit & at rest Fast file scanning built in Full execution traces Offline-resilient SDKs

Get started

Idea to production in five steps

Sign up

Create an account and your first project

Connect

Install an SDK or send data via REST

Validate

Add rules and every message is tagged pass or fail

Automate

Build a workflow with triggers and actions

Ship

Go live, monitor, and iterate

Your next project shouldn't take months.

Free tier includes 5 entities, 10 workflows, and 550 monthly runs. No credit card. No sales call. Just start building.

Coming soon Read the docs