ONE EXAMPLE. MANY APPLICATIONS. ↗

Find the signal.
Keep the stream.

Search events, inspect an error spike, and freeze an investigation while new events arrive. Three readers. Shared collection storage.

BUILT WITH ZEROCOPY

A log explorer is one example of the same pattern used by editors, large tables, catalogs, and graph tools.

Find your use case →
Preparing this demo…

Compare zerocopy, Immutable.js, Immer, and native arrays →

Generated data only. No upload, API key, or account. Stops at 200,000 events; reset releases the session. Samples are not customer data.

Load the sample to start the workers. Look for the payment timeout spike.
EVENT STREAM—live events
Following live data
Ingestion owner Idle Search worker Idle Summary worker Idle UI reader Idle
MATCHING EVENTS—
ERRORS IN SELECTION—
MEAN RESPONSE—
INVESTIGATION SNAPSHOT—No snapshot yet

Real counts appear after loading. No simulated results.

Full time range
Time (UTC)LevelServiceMessagems
Load the sample. Search and summaries run in separate workers.
50 rows per page. No full result dataset sent to the UI.
TRY THIS INVESTIGATION

Freeze a view.
Not the application.

Load 100,000 events. Filter for timeout, or select the timeline spike. Start live events, then freeze your investigation. Live ingestion keeps going; your view stays on its retained snapshot.

Read the code and design →

What is actually shared?

Five immutable columns: time, service, level, latency, and message. Search and summary workers receive the same snapshot descriptors. They send row indices and small aggregates back. The UI reads only visible records.

Strings can decode into local values. Views, messages, and result arrays still allocate. This is not a zero-allocation claim or a log storage service.

Compare four architectures live →

Connection and calculation log

    One allocating owner; three readers (UI, search, summary). At most one query pair runs at a time, with one latest pending request. Freeze pins a real snapshot record; it does not use an unimplemented task .at() API. Stop terminates all owned workers and releases retained views. Garbage collection is not forced.

    Type a topic to find a guide.

    ↓ ↑ to move · Enter to open · Esc to close

    Browse documentation →