Skip to main content

Overview

Studio lets you:
  • Read records from any stream, starting from a tail offset, sequence number, or timestamp
  • Stream records live as they arrive
  • Append records individually, line-by-line, or as a JSON array
  • Trim records up to a sequence number to reclaim storage
  • Fence a stream to enforce exclusive write access

Opening Studio

Navigate to any basin in the dashboard, then click Studio in the stream list header. You can also switch basins and streams directly from within Studio using the selectors at the top.

Connection

By default, Studio connects to S2. You can override this to point at s2-lite for local development. Click the connection badge in the top-right header to open the connection settings.

Connecting to s2-lite

1

Start s2-lite with TLS

Run s2-lite with a self-signed certificate so the browser can connect over HTTPS:
Lite listens on https://localhost (port 443) by default.
2

Set the connection endpoint

In the connection popover, click Use Lite. This pre-fills both endpoints with https://localhost.
3

Trust the certificate

Since Lite uses a self-signed certificate, you need to trust it in your browser once.The popover will show a prompt — click Open https://localhost to open it in a new tab, then accept the browser security warning.
After accepting the cert, come back to Studio and click Save to apply the connection. The page will reload and connect to your local Lite instance.
s2-lite sends permissive CORS headers by default, allowing the dashboard to connect from any origin. Use --no-cors to disable this in stricter deployments.

Read

The Read tab lets you fetch records from the selected stream.

Read Once vs Stream

  • Read Once — fetches a single batch with the current settings
  • Stream — opens a continuous session that delivers records as they arrive

Append

The Append tab lets you write records to the selected stream.

Input modes

You can also load a file directly into the editor — the input mode is auto-detected from the file extension (.json → JSON array, .jsonl/.ndjson → one per line, .txt → single body).

Optional fields

Commands