Vibe data engineering
You're probably sick of hearing people talk about "vibe coding", but what about "vibe data engineering?" ;)

You're probably tired of the term “vibe coding” by now. I feel you, but I do think the term is useful to explain a "way to do things".
We use LLMs for everything these days. At Tinybird, for example, we use it to spot SQL problems, optimize SQL queries, create ad-hoc visualizations, optimize Parquet files, etc.
So, why not embed that experience directly into the product?
Don’t get me wrong, I don’t love the AI hype, but I do like using tools when it makes sense.
That is the approach we have been taking: adding AI progressively, only when it adds value, and without leaning too much on AI and focusing instead on the actual problem.
That’s what tb create
is about. It’s a way to get 80% of the way to a data project in about 1% of the time it would otherwise take, to create that materialized view you don’t want to type, to create those three API endpoints that look almost exactly the same, or to just modify a table schema because you don’t remember the exact data type you used.
Maybe you would call it "vibe data engineering." Really, it's just a way to move faster, test your ideas faster, and get something shipped (while adhering to best practices).
Start using it by installing the new CLI:
curl https://tinybird.co | sh
Digging into tb create
tb create
is the essential Tinybird Forward command, it gives you a basic data project to start testing and iterating.
But it's more than just a command with a little sprinkle of LLM magic, it's the starting point of a data project that follows best practices. It’s opinionated, based on a proven project structure honed by years of building production data projects for our customers. It handles all of the "little things" that make shipping a Tinybird data project into production fast and easy.
Without tb create
, here's what you'd need to do every time you started a new project:
- Set up a database
- Create all the tables and table schemas
- Create the ingestion API
- Create the API endpoints
- Create the data transformations
- Create the unit tests and e2e tests for your endpoints
- Configure your CI/CD workflows
Now, you don't start a new project every day, or even every week... but if you could do all of those things with a single command, maybe you would start a new project every week:
Or better yet, just send the image of the dashboard you want to build and let Tinybird generate the project for you. :mindblown: For example, this creates a Google Analytics clone from this dashboard in about 30 seconds:

Then you just deploy it:
Then you're just a function away from capturing pageviews and having a fully working analytics project. Here's a vanilla JavaScript script to send data to the pageviews datasource. You could copy & paste this into your website HTML/javascript (it’s not production code, but it's good enough):
You could send 1 billion rows a day and it would just work, because tb create
follows data engineering best practices when it creates resources.
Not just for creating projects from scratch
By the way, tb create
doesn't just create new projects, it can also create new resources for existing projects...
...or modify existing resources
The anatomy of a generated data project
When you run create, it generates a project with the following structure:
This is the basic scaffolding to build, test, and deploy any data project in production. It has everything you need.
Beyond --prompt
: More ways to start a project
While the AI-powered project generation is impressive, tb create
offers other options to fit your workflow:
- Create a data source from existing data: Use the
--data PATH
option to create a project based on files that contain your data. - Specify project location: The
--folder PATH
option lets you define where your project files will be created (for example if you want to create atinybird
oranalytics
folder in your root. - LLM agent rules: With the
--agent
flag, you can create rules for an LLM agent (currently Cursor and Windsurf are supported). With this, you could use your IDE to generate resources rather than Tinybird's AI, which gives you more fine-tuned control over your model selection and other project-level prompts you may have created.
Getting started
To create your first project, you need:
- A container runtime like Docker or Orbstack
- Linux or macOS
From there, you just: