One log · one SDK

Data infrastructure
for real-time and
AI-native systems.

Stream, store, query, and coordinate distributed systems and AI agents on one durable foundation. Use the same typed SDK with Laser Stack locally or LaserData Cloud in production.

One system · eight surfaces

Follow one message through the whole platform.

Messages stay durable in the log. Materialized projections keep queryable state in the embedded database, with pluggable backends for external database clusters.

connected
laser.stream("shop").topic("orders")

Everything starts as a message.

An event or command is still a message. The log records it once, then services can read it live, resume from an offset, or replay it from the beginning.

Built for

Event-driven servicesaudit trailslive feeds
const shop = laser.stream("shop")
const topic = shop.topic("orders")
await topic.ensure(2)

for (const order of ORDERS) {
  await topic.publish().json(order).send()
}

// one typed handle: Order in, Order out
const replay = await topic
  .json(ORDER_CODEC)
  .records("log-example")
const batch = await replay.poll()
for (const result of batch) {
  if (result.kind === "record") {
    console.log(result.record.value.total)
  }
}
live resultupdated 12ms ago
18,042

order.paid

customer:42

$99.00
18,041

order.created

customer:17

$68.50
18,040

cart.checked_out

customer:09

$141.20

publish once

The message enters the log.

derive continuously

Every surface stays current.

compose freely

No synchronization layer.

New · Laser Stack

Run the SDK locally.

Run SDK examples and managed data APIs on your laptop without a Cloud deployment. One script starts the local runtime, waits for health, and prints the connection string your application needs.

Docker Composeamd64 + arm64offline after first run
laser-stack · quick start

# start the local SDK data path

$ git clone https://github.com/laserdata/laser-stack

$ cd laser-stack && ./scripts/up

iggy-server healthy · 127.0.0.1:8090

laser-plane healthy · query, state, graph

# use the same connection in every client

export LASER_CONNECTION_STRING='iggy:[email protected]:8090'

$ ./scripts/smoke

managed KV set/get passed

pinned images · health checks · persistent volumesView repository

What runs locally

Service 01

Streaming core

Apache Iggy · durable log and transport.

Service 02

Data plane

Query, state, graph, and run APIs.

SDK APIs available locally

Log
Memory
Context
Graph
State
Changes
Views
Fabric

Public benchmark · Apache Iggy 0.8.0

Latency measured in fractions of a millisecond.

40 million persisted messages on AWS i4i hardware. The complete producer and consumer reports are public and reproducible.

2M+

messages per second on public benchmarks

Open

SDK and AGDX wire protocol

Iggy

the Rust streaming engine at the core

Producer 0.47 ms avg
Consumer 0.36 ms avg
40M messages · 1 GB/s write · 2 GB/s read
ms
1.0
0.8
0.6
0.4
0.2
0.0
Time
AWS i4i.4xlarge · persistent log workload0.357 ms consumer avg · 0.495 ms p99

Product, not promises

See every primitive working.

Query projections, inspect streams, trace conversations, and review agent memory from the same console.

Run a query against a live projection.

console.laserdata.cloud
Laserdata console: Run a query against a live projection.

Bring your workload

Start with a message.

Managed on AWS or GCP, inside your cloud account, or on your own hardware. The SDK and connection string stay the same.

Managed

We run it

BYOC

Your cloud

On-prem

Your hardware

Install the SDK

$ npm install @laserdata/laser-sdk

Security & compliance

Your data deserves verified trust.

LaserData Cloud is ISO 27001 certified and SOC 2 and GDPR compliant, with further certification underway.

ISO 27001 certifiedSOC 2 compliantGDPR compliant
Visit Trust Center