← postcone.com Event factory
clock
2:00
events sent
720
rows queryable
720
columns
5
next commit
10s
shipped
0/7

How this works: traffic on the left becomes JSON events, the belts carry them to Postcone, and Postcone turns them into a table and suggests charts. Ship a change in station 2 to add a field, then watch a new column and new charts land at the next commit. Click anything to find out what it is. Ship a change in the App station, then walk down the belt below to watch it become a column and new charts. Tap anything to find out what it is.

1

Clients

People using your product

web ios android

Nobody here knows Postcone exists. They just use your app.

requests
2

Your application

Handles requests, emits events

idle — press play

POST /v1/tables/analytics.api_requests/events v1
{ }

Ship a change 0/7

events
3

Postcone

Ingest · schema · table

buffer 0
parquet 720
iceberg #12
Freshness window

next commit in 10s · a shorter window means fresher data and smaller files

analytics.api_requests 720 rows

Older rows keep NULL for columns added later. Nothing already stored is rewritten.

queries
4

Suggested views

Proposed from the schema, backed by SQL

720 Rows in table
537ms P95 duration_ms
6 Failed requests

6 views suggested from 5 columns. Click one for the query and the reasoning behind it.

720 rows scanned · 1.1 ms
SELECT · WHERE · GROUP BY · ORDER BY · LIMIT · count, sum, avg, min, max, p50, p95, time_bucket
routeeventsp95_ms
/api/feed266182
/api/search198218
/api/login115249
/api/checkout94333
/api/upload471552

Everything here runs in your browser. No API calls leave the page, the traffic is generated locally, and the SQL runs against the rows this simulation produced.Simulated in your browser. Send real events →