Classic was Tinybird’s original experience. Forward is the next big iteration, built for teams operating data products: deployments, schema migrations, local dev, CI/CD, SDKs and Agent Skills.
Free and Developer Classic workspaces must migrate by Sep 15: tinybird.co/blog/tinybird-cl…
Tinybird retweeted
Hace 4 años @nmediavilla19 vino a su primera @tarugoconf en el stand de @tinybird… hoy está en el escenario con "El diseño post-ChatGPT: eliminando barreras, no trabajos". Bravo!!! #TRG26
Tinybird retweeted
AI automation lands more PRs every day. Nobody watches every CI run anymore.
So stream every CI run into RawTree as it finishes. One small GitHub Actions workflow, no CREATE TABLE, no cron job. Then ask it questions instead of watching it.
rawtree.com/docs/guides/inge…
Every concurrency limit transition is logged in tinybird.cluster_control_log and visible in Observability.
Inspect degradation reasons, CPU ratios, and recovery timelines directly:
tinybird.co/docs/forward/mon…
You can now share Explorations with your whole Workspace.
Also this week: Organization Observability filters by Workspace, and viewers and guests get tighter permissions.
tinybird.co/docs/changelog/2…
Define test cases in tests/<pipe>.yaml with parameters and expected JSON.
Tinybird spins up a clean local environment and asserts status codes and payloads before you merge:
tinybird.co/docs/forward/dev…
Changing SQL transformations or parameter filters shouldn't rely on clicking around a staging UI to check for regressions.
With Tinybird Forward, you check API Endpoints against YAML fixtures in CI using tb test run.
Tinybird retweeted
No schema upfront doesn't mean typeless.
Our LLM app's SDK v2 started sending latency_ms as "1920" instead of 1920. RawTree kept each value's type.
avg() and > comparisons skip the strings and return a hint saying so. Nothing silently becomes a wrong number.
rawtree.com/docs/guides/inge…
Then create a Bird webhook that points at the Events API:
/v0/events?name=bird_events_raw&format=json&wait=true&token=<token>
The token can only append to this Data Source. Prefix it with your region's API host.
tinybird.co/docs/forward/gui…
Sending Bird webhooks to Tinybird takes one Data Source and one URL.
The full webhook body lands in a JSON column, so you can query nested fields like event.data.metadata.order_id directly.
Partition outputs with templates like orders_{order_date} in Parquet, CSV, or NDJSON.
Failed and cancelled runs now surface in tinybird.sinks_ops_log with exact IAM permission errors:
tinybird.co/docs/forward/cop…
Exporting rollups from ClickHouse® to S3 usually involves custom cron jobs, export lambdas, and opaque errors when IAM policies reject writes.
In Tinybird, define an S3 Sink pipe in SQL, set a schedule, and let Tinybird handle batch writes.
New guide in the Tinybird docs: send @messagebird webhooks to Tinybird.
Point a Bird webhook at the Events API and query email, SMS, WhatsApp, and Apple Messages events with SQL. No server needed.
tinybird.co/docs/forward/gui…
Match ENGINE_PARTITION_KEY to your TTL and set ttl_only_drop_parts=1 in ENGINE_SETTINGS.
ClickHouse drops whole expired partition folders via metadata deletion with zero row rewrites:
tinybird.co/docs/forward/dev…
ClickHouse® table partitions and TTLs need to align.
If you partition by month but set a 30-day TTL, ClickHouse has to rewrite entire part files during merges just to delete expired rows. That burns CPU and disk I/O on background cleanup.
Use set for status codes and bloom_filter for user IDs.
ClickHouse checks the index per granule group and skips unmatching blocks before disk reads. Define them in your datafile:
tinybird.co/docs/forward/dev…
ClickHouse® primary keys are sparse. When your sorting key starts with tenant_id and timestamp, filtering on another column means scanning every index granule across that range.
In Tinybird, you add secondary data skipping indexes directly to your .datasource file.
Tinybird retweeted
A web analytics dashboard is a few SQL queries over one events table.
Here are three: daily traffic, channels and bots 🧵
xitter.cf/rawtreedb/status/21099…
We have the events. What about session replays?
They're JSON too. @rrweb_io records the page as a stream of events, so replays can live in RawTree next to your analytics and play back from a SQL query 🧵
xitter.cf/rawtreedb/status/21095…














