I’ve been a fan of Tinybird for a while, often reading their blog posts and watching demos. But I’d never actually used it. You can’t truly understand something until you try it yourself, so I decided to get my hands dirty and create my first Tinybird account.

I started at the very beginning, following the Chapter 1: Idea to Production guide in the documentation. Before running the install script, I took a quick look at what I was downloading:

$ curl -s https://tinybird.co | cat
#!/bin/sh
# shellcheck shell=dash

# ... (rest of the script)

Everything looked good, so I ran the script and got set up.

$ uv tool list
litecli v1.13.2
- litecli
tinybird v0.0.1.dev266
- tb

Tinybird seems to be iterating quickly! Every time I start my container with tb local start, there’s a new version available.

New Tinybird version available

I now have Tinybird running locally in a Docker container:

Tinybird local container

Before continuing with the tutorial, I poked around inside the container a bit.1

docker inspect 1bd543200c7dfb5db96ed916b13277cc010c25b6279b29a6adbbd80808fa2dbf | llm 'gemini-pro' -s 'You are an expert devops engineer, give me a simple markdown report explaining me the content of the following docker container' | python -m rich.markdown -

Tinybird local container inspection

$docker exec -it tinybird-local ps aux | llm 'gemini-pro' -s 'You are an expert devops engineer, give me a simple markdown report explaining about the process running in the following docker container' | python -m rich.markdown -

Tinybird local container processes

Back to the tutorial! I followed the steps until I successfully deployed my first data to the Tinybird cloud. 🎉

Tinybird workspace

./Conclusion

I’m really enjoying the tb CLI so far. Here are a few things I particularly like:

  • Helpful suggestions: The CLI provides suggestions if you misspell a command. This is a small touch, but it makes a big difference in usability.
  • Autocompletions in tb dev: The playground environment has excellent autocompletion, which speeds up development significantly.
  • tb dev --ui for exploring pipes: This is a fantastic way to visualize and understand the flow of data through the pipe nodes.2 It’s much easier than my previous approach!

Node UI exploration

  1. The vscode processes you see are from my (somewhat clumsy) attempts to explore the container’s file system. 

  2. Before discovering this UI, I was trying to inspect intermediate nodes using CTEs (Common Table Expressions), which was a much less elegant solution. 😰