StreamPlay / Revenir

Open-source projectIn development

A local workbench for streaming development.

Send sample events through your Flink or Kafka Streams application, inspect the input and output JSON, and iterate on your transformations without juggling terminals.

See the planned workflow ↓

In active development. No public release yet.

One event, delivered twice. What happens to the total?Concept preview · illustrative data

Input events

[
  {
    "event_id": "evt_01",
    "order_id": "ord_123",
    "amount": 60.00
  },
  {
    "event_id": "evt_01",
    "order_id": "ord_123",
    "amount": 60.00
  }
]

Your application

Deduplicate.
Then aggregate.

Count each event once before calculating the order total.

Change the transformation

↳ Rerun the same events

Output to inspect

{
  "order_id": "ord_123",
  "total": 60.00,
  "unique_events": 1
}

Compare totals before and after the fix

120.0060.00

A design illustration of the planned workflow. This page does not run a streaming application.

The workflow we’re building

From “what does this do?” to “that’s what I expected.”

Developing a transformation is a conversation between your code and its results. Keep both in view as you work.

01

Bring the events

Paste JSON, generate sample events, or replay a saved fixture. Start with the data you need to understand.

02

Run your application

Send those events through your own streaming code in a configured test environment. Keep working in your editor.

03

Inspect what comes out

Read the actual input and output JSON, record metadata, logs, and errors together. Follow the fields that matter.

04

Change it. Run it again.

Adjust your transformation or configuration and compare the results. Save a test once you know what to expect.

Built around your existing code

Your editor for the code.
One workbench for the data.

The planned workbench brings event generation, application execution, raw payloads, and run comparisons together. Explore first. Save scenarios and add checks when the expected behavior is clear.

If you work with dbt, the feedback loop will feel familiar: change a transformation, run representative data, inspect the result, and repeat. StreamPlay is bringing that experience to streaming applications.

Planned first-release integrations

Two processing frameworks. Two event transports. These are the initial combinations we’re targeting.

Planned processing framework and event transport combinations
Your applicationEvent transport
Apache FlinkApache Kafka
Apache FlinkAmazon Kinesis
Kafka StreamsApache Kafka

The workbench will run locally. Connecting to Amazon Kinesis will require an AWS test environment.

Open-source project · In development

Building the first working loop.

The first milestone is to send events through a real application, inspect the output, change the code, and compare another run. We’ll share the repository and setup instructions here when they’re ready.

Created by kc-salazar at Revenir.

Share your streaming use case →

Working on a pipeline this could help with? We’d like to hear about it.

Back to Revenir →