Kaptanto logoOpen source — Apache 2.0 — v0.1.0

Turn every database write into a real-time event.

kaptanto captures every insert, update, and delete from Postgres and MongoDB the moment it happens — and delivers it via stdout, SSE, or gRPC. One static binary. Self-contained. Deploys anywhere.

kaptanto
# stream order changes to your services
$ kaptanto --source postgres://prod:5432/fintech \
--tables orders,payments --output stdout
{"op":"insert","table":"orders","after":{"id":1234,"status":"pending","amount":149.90}}
{"op":"update","table":"orders","after":{"id":1234,"status":"settled","amount":149.90}}
{"op":"insert","table":"payments","after":{"id":5678,"order_id":1234,"method":"pix"}}
Features
Production CDC. Minus the complexity.
Backfills, crash recovery, per-key ordering, and HA — built in. Nothing extra to operate.
latency

Sub-millisecond

Events flow from the WAL as each transaction commits. No polling interval, no artificial delay.

schema

One event schema

The same JSON format across every source. Write your consumer once and connect to any database.

checkpoint

Crash-safe cursors

Per-consumer positions persist on every event. Reconnect and resume from exactly where you stopped.

backfill

Consistent backfills

Snapshot and stream run concurrently. Watermark coordination prevents stale or duplicate rows.

ordering

Per-key ordering

Events for the same primary key always arrive in commit order. Slow consumers never block other partitions.

ha

Built-in HA

Two instances, one leader. Advisory lock election — session-scoped, no clock skew, ~5-second failover.

Compatibility
Works with the databases you already run.

Database sources

PG
PostgreSQL
WAL logical replication · v14-17
MG
MongoDB
Change Streams · v4.0+
MY
MySQL soon
binlog · GTID

Output modes

>
stdout
NDJSON · pipe anywhere
SE
Server-Sent Events
HTTP · auto-reconnect · Last-Event-ID
gR
gRPC Stream
Protobuf · HTTP/2 · backpressure
Get started
From install to streaming in 90 seconds.
$ curl -fsSL https://get.kaptan.to | sh
Why kaptanto
A complete CDC stack that fits in a single binary.
ToolReal-timeNo KafkaMulti-DBSingle binaryFreeMin cost
kaptanto$0
Debezium$0+Kafka
Confluent~~$200/mo
Fivetran~$12K/yr
Estuary$0
AWS DMS~$70/mo

Your first event in two minutes.

Install kaptanto, point it at your database, and start streaming.