Two weeks ago, we published v1 of our LLM SQL Generation Benchmark. Your feedback was generous, thoughtful, and sometimes brutally honest.
Here's what we got wrong, what we got right (but didn’t explain), and how we’re improving the benchmark for round two.
tbrd.co/llm-sql-rd2
Posts by Tinybird
One of the most popular crypto wallets in the world, Phantom, builds features with Tinybird to increase revenue and swaps by displaying trending tokens to end-users in milliseconds.
Top quote from their Sr. Data Engineer ↓
How could I have missed it
@tinybird.co just solved the biggest pain point to self host @openstatus.dev with their local container 🥰
www.tinybird.co/docs/forward...
A clean shadcn sidebar project including a 'filter' and 'create' button next to the menu label
Having fun with @shadcn.com sidebar.
Inspired by @tinybird.co.
Despite the proliferation of AI chat apps, Explorations wasn't a simple build. Read the engineering post with our experience on LLM orchestration, prompt chaining, tools definition, system prompts, and handling unexpected LLM outputs -> tbrd.co/explorations_tech
You can read more about Explorations in our announcement post -> tbrd.co/explorations
Here's what you can do with Explorations:
- Query data in your natural language
- Build notebook-style analysis
- Customize output with rules
- Visualize results as timeseries charts
- Fix errors automatically
Before you write your first pipe, you must understand your data.
This takes time. It starts with SELECT * … LIMIT 1 and ends with many open SQL docs tabs.
Explorations reduces time-to-first-API by turning natural language queries into optimized & contextualized SQL.
Introducing Explorations, a chat UI for real-time analytics.
youtu.be/pLI1xLxpUTw
dbt shook up the data world in 2016.
We like dbt. But it's not suited for real-time workloads (because data warehouses aren't suited for real-time workloads).
Tinybird is a lot like dbt. But it's also different... 👀
tbrd.co/dbt-real-time
In post 3, we compared Reddit's original architecture to the optimized Tinybird approach in terms of cost, performance, and complexity -> tbrd.co/100bpt3
In post 2, we considered how to effectively scale the counter -> tbrd.co/100bpt2
In post 1, we offered a very simple approach to count 100B rows in Tinybird -> tbrd.co/100bpt1
We just wrapped a blog series on counting 100 billion rows efficiently.
The takeaway? Tinybird is fast and cost-effective when it comes to real-time aggregation at scale. Duh.
Links to all 3 below ↓
Quick update on this ↓
Spots are filling up. We're ~75% full with a week to go. If you want to meet other #NewYorkCity devs building real-time data applications and learn from someone who has actually built and scaled the thing in prod, register now.
Register: lu.ma/9wazu8zx
Where my Copenhagen devs at?
Next Wednesday we're running a Tinybird Hackathon at the @BlastTV offices in Copenhagen 🇩🇰.
Learn how Blast built their stats leaderboard for the game Deadlock, and get hands-on experience building real-time analytics APIs.
Register here: lu.ma/wafkvnza
There are 6 functions to get a unique count in Tinybird:
1. uniq
2. uniqExact
3. uniqCombined
4. uniqCombined64
5. uniqHLL2
6. uniqTheta
Each one has tradeoffs.
Read how to combine them to efficiently count billions of unique IDs. ↓
Curious how this works? We walk through it step-by-step in our latest blog post. ↓
tbrd.co/askai
The basic process:
1. Create an API to pass input to an LLM
2. Pass user input + sys prompt to the LLM
3. Have the LLM return structured filters
4. Fetch your data API using the LLM filters
The key is a good (dynamic!) system prompt & a fast analytics backend (👋 Tinybird).
You can reclaim some UI space by distilling filter UIs into a clean free-text prompt and use an LLM to parse the result.
@dubdotco has a good example. With 20 high-cardinality filter dimensions, Dub simplifies the filter UI by prioritizing free-text AI input ↓
Filters are important for any dashboard. But when the number of filter dimensions grows, UI components for filtering can get clunky and eat up a lot of space.
👇 See how much real estate this sidebar takes?
💡 Quick win to improve the UX of your real-time analytics dashboards: Add an "Ask AI" feature. ↓
More info on how to do it in the 🧵
Just announced: Real-time Data Meetup with Tinybird, Estuary, and PlayOn! Sports.
3 talks.
A room full of devs and data people.
Free food and imbibements.
April 29th at 6 PM ET
FirstMark Capital - NYC
Register here: lu.ma/9wazu8zx
Things that should be simple, but aren't: Canceling a database query from a web app client.
Here's how we do it ⤑ tbrd.co/cancel-query
Own your data. Build your dashboard.
A few months ago, we released a @vercel.com edge pinger to monitor your endpoints and store the responses in @tinybird.co: a lightweight OpenStatus version for you to self-host.
Today, the UI is here.
→ logs.run/light
Tinybird can help here.
Use Tinybird to build a lambda architecture that combines:
🔹 Pre-aggregated snapshots (batch)
🔹 Transaction event streams (real-time)
🔹 Serving layer to merge both at query time
Practical example below 👇
tbrd.co/inventory
Traditional lambda architecture combines batch and real-time data modalities. Usually these need to be implemented in different systems, which can lead to brittle pipelines that are hard to maintain and scale.
Analytical databases are great for fast queries and high throughput, but their append-only nature makes updates and deletes computationally expensive. Not ideal when inventory state constantly changes.
Lambda architecture can solve this, but there's a catch.