Managed backend for product teams

The log is the database.

Auth, durable storage, realtime, and webhooks in one managed backend. Your app POSTs events; IoTMan keeps every one and serves them back as REST snapshots, WebSocket streams, or signed webhooks. No database to operate, no auth service to wire, no message bus to run.

Free tier available. No credit card required.

producer → log → projection
# A producer appends an event
POST /events/:stream
  Authorization: Bearer <producer_token>
  '{"type":"flag.toggled","flag":"checkout","on":false}'

# A consumer subscribes to a derived view
GET /projections/flags (WebSocket)
→ live state, replayable from any point
What's included

One backend, not five services.

The pieces a small team would otherwise assemble from a database, an auth provider, a message bus, and a webhook worker. We run them; you use them.

Producer authentication

OAuth 2.1 tokens for devices, partner backends, and internal services. Scoped, revocable, no shared secrets in payloads.

Durable event storage

Every event you send is kept and replayable. Backed by managed PostgreSQL. No database to provision.

Declarative projections

Describe how events become views with JSONPath. No server-side code to write, deploy, or scale.

Three read modes

REST snapshots, WebSocket streams, signed webhook delivery. Same auth across all three. Pick whichever each client wants.

How it works

Producer, log, projection, consumer.

Four roles, one auth model.

01

Producers append

A device, webhook handler, or backend service authenticates with an OAuth 2.1 token and POSTs an event.

02

The log holds the truth

Events go into durable storage on PostgreSQL. The log is the system of record.

03

Projections derive views

Describe how events become a view using JSONPath. A current-state map, a leaderboard, an aggregate, all are projections over the same log.

04

Consumers read in whatever shape fits

Three integration modes share the same auth model: REST for snapshot reads, WebSocket for live subscriptions, signed webhooks for push delivery on matches.

Design choices

Why it's shaped this way.

Events, not state

Most backends store the latest value and forget the rest. We keep the history. Every read view is something you can derive, not something you have to maintain. New questions become new projections, not new tables.

Declarative reads

Reading data should be a description of what you want, not a service you write and operate. JSONPath gives us a small, predictable language for shaping events into views.

Authentication at the edge

Every producer (a device, a webhook source, a partner backend) authenticates before its first byte hits the log. OAuth 2.1 gives us scoped, revocable credentials with a shape developers already know.

A scarce toolset, by design

What you touch is deliberately small: HTTP, WebSocket, OAuth 2.1, signed webhooks, JSONPath. That's the surface.

Where it fits

Apps that are events in, views out.

Six common shapes; the primitives are the same.

A customer event timeline

Sign-ups, logins, feature use, support tickets, cancellations. Every interaction with your product, captured as a stream. The lifecycle view, the segmentation, the cohort analysis: all projections over the same log.

A live status surface

An order tracker, a delivery progress page, a race leaderboard, a build pipeline UI. Anywhere a user wants to watch state change in real time. Producers append events; consumers subscribe to a projection over WebSocket; the page updates because the projection does.

Sensor telemetry

The original use case, served by the same primitives. Devices POST JSON; the log keeps it; projections shape it for whoever reads.

A webhook inbox

One endpoint that catches every webhook your stack receives, keeps the raw payload, and lets you write the dashboard you wish each tool shipped with.

A public-data canvas

Wrap a public API (earthquakes, marine traffic, flights, weather) in a small fetcher. The fetcher becomes a producer; the log becomes yours; the projections are anyone's to write.

An audit-first internal tool

Feature flags, config, admin actions. The log is the audit trail. Replay gives time-travel.

Start building.

Free tier available. No credit card required.

Get startedRead the docs →