Back to blog
announcementkubernetes

Introducing Tiny Systems

Build data pipelines, API servers, and automations by connecting components visually. No YAML, no custom controllers — flows that run as Kubernetes operators.

We've been building Tiny Systems for two years. Today we're sharing it.

The problem

Kubernetes is good at running things. Building the things it runs is another story. For every "when a pod crashes, send a Slack alert" you end up writing a controller in Go, building a Docker image, deploying it with Helm, and maintaining YAML you'll forget about in a month.

We wanted to compose Kubernetes automations visually. Wire things together like a circuit instead of writing operators by hand.

What it does

Tiny Systems is a flow-based programming engine that runs on Kubernetes. You connect nodes — HTTP Server, Router, Slack Sender, Pod Watcher, etc. — and the engine runs them as native K8s resources.

Each node is a TinyNode CRD. Nodes in the same module share a Go process and talk via channels. Nodes across modules talk over gRPC. State lives in CRDs. No external database.

How we built it

Blocking I/O. When an HTTP Server sends a request downstream, it blocks until the response comes back through the graph. You get backpressure, error propagation, and transaction-like semantics without thinking about it.

Modules are operators. Each module (HTTP, Kubernetes, Slack) deploys as a standard Kubernetes operator via Helm. Scaling, RBAC, and lifecycle come from K8s directly.

Expressions instead of code. Data mapping between nodes uses {{$.field}} JSONPath syntax. No lambdas, no embedded scripts.

No database. Runtime state is in CRDs. Your cluster is the database. Zero extra infrastructure, disaster recovery through etcd.

What people build with it

  • API servers with routing, auth, and response composition
  • ChatOps — Slack commands that query and manage the cluster
  • Monitoring — watch pods, filter events, send alerts
  • Data pipelines — HTTP ingestion, transformation, storage
  • Scheduled jobs with complex downstream logic

Getting started

Two options:

  1. Desktop client (open source) — connects to your cluster via kubeconfig. GitHub releases.
  2. Cloud platform — visual editor with monitoring, collaboration, one-click module install. tinysystems.io.

Both use the same engine. Desktop works offline. The platform adds team features and cluster management.

Modules

All open source, MIT-licensed:

You can build your own modules with the Go SDK.

What's next

We're focused on stability and real-world use cases. If you try it, tell us what works and what doesn't — hello@tinysystems.io or our Slack community.