The Bruin Blog
Insights, ideas, and stories from the Bruin team.

Migrate from Fivetran to Bruin: cut Postgres-to-BigQuery costs
A practical Fivetran migration guide for moving PostgreSQL to BigQuery with Bruin and ingestr. Validate parity, reduce MAR-based spend, and run a governed open-source data ingestion pipeline.
Arsalan Noorafkan
11 min read

Launch: Data Apps
Dashboards are nice and all, but sometimes you want to go crazy with your data visualization, no?
Burak Karakan
3 min read
Bruin Data Apps vs Lightdash, Retool, Streamlit, and Hex
A 2026 comparison of Bruin Data Apps against Lightdash, Retool, Microsoft Power Apps, Streamlit, and Hex, plus AI app builders like v0 and Claude Artifacts. Which let you turn a question into a purpose-built, operational interface on live, governed warehouse data, and which stop at dashboards, code, or a pretty frontend with no trustworthy backend.
Kateryna Kozachenko
13 min read

Shopify to ClickHouse: build a fast ecommerce analytics warehouse
Learn how to load Shopify data into ClickHouse, choose an ingestion method, model a bronze-silver-gold ecommerce warehouse, and use Bruin to spend less time maintaining data tooling.
Arsalan Noorafkan
14 min read

How to choose an incremental data loading strategy
Choose between full refresh, append, merge, delete+insert, time_interval, and SCD2 based on source updates, deletes, keys, late data, and history requirements.
Arsalan Noorafkan
12 min read

What Is a Data App? Definition, Examples, and BI Differences
What is a data app? Learn how data applications combine trusted data, business logic, and workflows, and how they differ from BI, dashboards, and reports.
Arsalan Noorafkan
17 min read
Is It Safe to Give AI Access to Your Data?
The honest answer is: it depends entirely on the controls around the AI, not the AI itself. Here's a practical framework for evaluating PII handling, permissions, data residency, and self-hosting before you connect an AI data analyst to your warehouse.
Kateryna Kozachenko
13 min read

NULL Keys Silently Break BigQuery Joins and MERGEs
A NULL in a join key never matches itself, so your incremental MERGE quietly duplicates rows and your joins quietly drop them. Here is why it happens, why the obvious null-safe fix (IS NOT DISTINCT FROM) turns your join into a cross join, and the OR-form that stays a hash join, with a full BigQuery benchmark.
Sabri Karagonen
9 min read

Migrating from Metabase to Bruin DAC
How to decide whether a Metabase dashboard belongs in self-hosted Bruin DAC or Bruin Cloud, what to migrate first, and why the move is more about metric ownership than chart widgets.
Arsalan Noorafkan
8 min read

Launching: ingestr CDC
Bringing sanity back into Change Data Capture (CDC) workloads
Burak Karakan
8 min read
How Do I Know the AI's Answer Is Correct?
An AI data analyst that hands you a number and no way to check it is asking for faith, not giving you an answer. Here's what verifiable AI answers actually require: the SQL it ran, the lineage back to raw rows, and definitions that don't drift between questions.
Kateryna Kozachenko
12 min read

What Is a SQL Unit Test? Examples, Benefits, and How to Write One
A SQL unit test checks a query's logic with controlled input rows and an expected result. Learn what SQL unit tests cover, how they differ from data quality checks, and how to write them with Bruin.
Arsalan Noorafkan
10 min read

What is CDC in data engineering? Change data capture explained
What is CDC in data engineering? Learn how change data capture records database changes, differs from ETL and incremental loading, and when to use it.
Arsalan Noorafkan
15 min read

What is CDC streaming? Change data capture guide
What is CDC streaming? Learn how it reads database logs, where Kafka fits, how it differs from batch CDC, and when its operational cost is worth it.
Arsalan Noorafkan
14 min read

What Is Reverse ETL? Definition, Examples, and When to Use It
Reverse ETL explained in plain terms: how warehouse data moves back into CRMs, marketing tools, support systems, internal apps, and workflows, how it differs from ETL and ELT, and when teams should use it.
Arsalan Noorafkan
10 min read

Migrating from Pentaho Data Integration to Bruin
A practical migration plan for moving Pentaho PDI and Kettle jobs to Bruin. The Bruin team can help with onboarding and migration planning for ingestr, SQL/Python assets, quality checks, DAC dashboards, MCP, and AI analytics.
Arsalan Noorafkan
10 min read

Pentaho vs Bruin: A Modern Alternative for Data Pipelines
A practical comparison of Pentaho and Bruin for teams evaluating PDI, Kettle, and legacy ETL alternatives. Bruin offers onboarding and migration planning for governed pipelines, DAC dashboards, MCP, and AI analytics.
Arsalan Noorafkan
9 min read

Agentic Salesforce to Snowflake ELT: From One Prompt to a Governed Pipeline
How Bruin CLI, Bruin MCP, Bruin Cloud, and agent skills can build and maintain a Salesforce to Snowflake ELT pipeline across bronze, silver, and gold layers.
Arsalan Noorafkan
10 min read

Bruin Project Competition: over 70 end-to-end data pipelines from the Data Engineering Zoomcamp community
A recap of the first Bruin Project Competition: how it started with DataTalksClub Data Engineering Zoomcamp, what participants built, which Bruin features they used, and what future builders can learn.
Arsalan Noorafkan
8 min read

How to Build a Salesforce to Snowflake Pipeline with Bruin
A simple guide to ingesting Salesforce data into Snowflake, modelling bronze, silver, and gold layers, and using Bruin agents for dashboards, Slack reports, activation, and self-healing pipelines.
Arsalan Noorafkan
8 min read

Learning AI Programming, Agentic Data Engineering, and AI Data Analysis
A practical guide to the best open and official courses for AI programming, agentic data engineering, and AI data analysis - organized by career path, experience level, and project goal.
Arsalan Noorafkan
18 min read

dlt Alternatives: Bruin, Airbyte, Sling, Meltano, and Fivetran Compared
A practical comparison of dlt alternatives for data ingestion: Bruin CLI, ingestr, Airbyte, Sling, Meltano, and Fivetran, including a MongoDB to Postgres benchmark.
Arsalan Noorafkan
10 min read

BigQuery TVFs for AI Agents: A Lightweight Semantic Layer Pattern
BigQuery table-valued functions can give AI data agents a small, governed query interface without asking them to write full SQL against raw warehouse tables.
Arsalan Noorafkan
4 min read
How Do I Know My Ecommerce Numbers Are Right?
The number one question ecommerce operators ask about their data isn't 'what's my revenue', it's 'can I trust this figure'. Here's why your numbers disagree across tools, and how to make a single figure you can defend in a board meeting.
Kateryna Kozachenko
12 min read

Best Semantic Layer Tools in 2026: dbt, Cube, Looker, Power BI, Lightdash, Bruin
Compare semantic layer tools for BI, dbt metrics, reusable definitions, dashboards, and AI agents: dbt, Cube, Looker, Power BI, Tableau, AtScale, Lightdash, and Bruin.
Arsalan Noorafkan
10 min read

What Is a Semantic Layer?
A practical explanation of semantic layers, why metric definitions drift across dashboards, and how tools like Bruin CLI and DAC turn reusable metrics, dimensions, filters, and segments into SQL.
Arsalan Noorafkan
8 min read
Fable 5 vs Bruin for Data Analysis: Can a Frontier Model Be Your Data Analyst?
Fable 5 is one of the most capable AI models yet, and people are asking whether it can replace a data analyst. Here is an honest look at what Fable 5 does well for data analysis, where it stops, and how it compares to a purpose-built AI data analyst like Bruin.
Kateryna Kozachenko
7 min read

The 9 Best AI Dashboard Tools and Builders in 2026
Compare the best AI dashboard tools and builders for 2026. See which tools turn natural-language prompts into live dashboards, connect to company data, expose APIs, and fit business teams.
Kateryna Kozachenko
15 min read
The Best Data Ingestion Tools in 2026
An honest 2026 guide to data ingestion tools, from Fivetran and Airbyte to dlt, Sling, Meltano, and ingestr. Which are open source, which connect to live company data, which support CDC and incremental loads, and which fit a modern AI data stack.
Kateryna Kozachenko
12 min read

Migrating from Python to Go: ingestr v1
We have rebuilt ingestr from the ground up to be faster, more reliable, and easier to use. Here is how we did it and what it means for your data pipelines.
Burak Karakan
6 min read

The Best AI BI Tools in 2026
An honest 2026 guide to AI business intelligence tools, from ThoughtSpot, Power BI Copilot, Tableau Pulse, and Looker to Snowflake Cortex, Databricks Genie, and Bruin. Which let business teams ask questions in plain English, which connect to live company data, and which can actually replace a BI stack.
Kateryna Kozachenko
12 min read

Segment vs Hightouch vs Census Reverse ETL: 2026 Comparison
Segment vs Hightouch vs Census for reverse ETL: compare warehouse-native activation, CDP profiles, Fivetran-owned syncs, governance, and where Bruin fits.
Arsalan Noorafkan
18 min read
AI Data Analyst vs ChatGPT, Claude, and Coding Agents: What's the Difference?
Can you just use ChatGPT, Claude, or a coding agent like Codex to analyze your company data? Here is the honest difference between a general AI model and a purpose-built AI data analyst, why a model alone is not enough, and what it takes to get trustworthy answers from live company data.
Kateryna Kozachenko
10 min read

The Best Power BI Copilot Alternatives in 2026
Looking for a Power BI Copilot alternative? An honest 2026 comparison of ThoughtSpot, Tableau Pulse, Looker, Snowflake Cortex, Sigma, and Bruin, for teams that want plain-English answers on live data without per-seat licensing or DAX.
Kateryna Kozachenko
10 min read

Best Data Pipeline Tools 2026: Airflow, Dagster, Prefect, Mage, and Bruin
A practical 2026 shortlist of the best data pipeline tools, including a direct Dagster vs Prefect answer for teams choosing between assets and Python flows.
Arsalan Noorafkan
10 min read

Score XGBoost models in BigQuery, no Python required
Most batch ML scoring pipelines waste DS time pulling data into Python containers to do arithmetic the warehouse already does. Here is the trick, the receipt, and a copy-paste Jinja macro that translates an XGBoost model to SQL, validated on DuckDB.
Sabri Karagonen
8 min read

How to Get Full Attribution Coverage Between Adjust and Firebase
A one-time SDK setup for game studios: cross-write Adjust ADID, Firebase user_pseudo_id, and your own user_id so installs join cleanly across both systems. AppsFlyer, Singular, and Branch follow the same pattern.
Sabri Karagonen
6 min read
Answer, Build, Act: What the Next AI Data Analyst Actually Does
AI data analysts started by answering questions. The useful ones now also build (dashboards, reports, pipelines) and act (pause bad ad spend, fix broken reports, alert the right owner). Here is why answering alone is not enough, and what it takes to act safely on live company data.
Kateryna Kozachenko
8 min read

Deterministic A/B Test Bucketing
Make A/B test bucketing a pure function of (salt, user_id) so iOS, Android, web, and BigQuery all derive the same variant for the same user, and so you can preview cohort balance in the warehouse before launch.
Sabri Karagonen
7 min read

Exporting Adjust Raw Data to Google Cloud Storage
A short setup guide for getting Adjust raw exports landing in a GCS bucket, plus the parameters you should be sending to Adjust to get attribution right.
Sabri Karagonen
5 min read
Reconciling Shopify, Amazon, and Ad Platforms Into One Answer
Your revenue lives in Shopify, your marketplace sales in Amazon, and your spend across Meta, Google, and TikTok. Getting one honest number for 'what did we make and what did it cost' means reconciling all of it. Here's how to stop doing it in a spreadsheet.
Kateryna Kozachenko
12 min read

How to Run Reliable Firebase A/B Tests
Firebase counts users as 'in variant B' when the variant never actually reached their device. Here's the proxy-parameter setup that gives you a cohort you can defend.
Sabri Karagonen
7 min read
The Best Text-to-SQL Tools in 2026
An honest 2026 guide to text-to-SQL tools that turn natural language into queries, from Vanna AI, WrenAI, and Defog to Snowflake Cortex, Databricks Genie, and Bruin. Which are open source, which connect to live company data, and which go beyond generating SQL to deliver trustworthy answers.
Kateryna Kozachenko
11 min read

Why It's Reasonable to Be Skeptical About AI in Data - and Why It's Fixable
A practical framework for building an AI context layer using open-source tools, turning skepticism about AI in data engineering into a working solution with self-healing pipelines and iterative team adoption.
Arsalan Noorafkan
25 min read
Best Mobile Game Analytics Tools in 2026
Compare mobile game analytics tools for 2026: Firebase/GA4, GameAnalytics, Amplitude, Adjust, AppsFlyer, BigQuery, Snowflake, Looker, Hex, and Bruin.
Kateryna Kozachenko
12 min read

AI Data Analyst on WhatsApp
Most AI data analysts live in Slack or a browser. Bruin runs in WhatsApp too. Here is why field, sales, and ops teams prefer asking their data questions there, what it takes to make it actually work, and how to roll it out safely.
Kateryna Kozachenko
14 min read

The Best AI Data Analyst Tools for Slack in 2026
An honest 2026 guide to AI data analyst tools that live natively in Slack. Bruin, Dot, Querio, ThoughtSpot, Question Base, Clearfeed, and eesel AI compared, with pros, cons, and which one fits which kind of team.
Kateryna Kozachenko
14 min read

From Prompt to Dashboard: How Conversational AI Is Replacing the BI Request Queue
For 20 years, self-serve BI has meant 'learn to build your own dashboard.' In 2026, prompting replaces point-and-click, and the BI request queue dies with it. A practical look at where conversational BI works, where it does not, and how to run a data team around it.
Kateryna Kozachenko
18 min read
Multi-Location, Multi-Channel Inventory: One View of What You Actually Have
When stock is spread across warehouses, 3PLs, Amazon FBA, and retail, nobody can answer 'how much do we actually have and where'. Here's how to build one unified inventory view with velocity, days of cover, and reorder alerts, without a data team.
Kateryna Kozachenko
12 min read

AI Data Analyst vs Traditional BI: How to Choose in 2026
Honest 2026 framework for picking between an AI data analyst and traditional BI tools. When each one wins, the hybrid pattern most teams land on, and how to migrate without breaking trust in your data.
Kateryna Kozachenko
12 min read

Building an AI Data Analyst Sucks
I'll teach you how to do this, and you'll get mad at me for it.
Burak Karakan
6 min read

Meet Bruin’s AI data analyst in Slack, Teams, and browser
Bruin’s AI data analyst is an AI-native BI interface for asking questions about company data and getting back answers that are fast, relevant, and usable in context.
Kateryna Kozachenko
11 min read

Go is the Best Language for AI Agents
Pull up your agents folks, I'll convince you why Go is the best language for them.
Burak Karakan
8 min read
Returns Analysis and Return-Fraud Detection Without a Data Team
Returns quietly eat ecommerce margin, and a slice of them are fraud. Here's how to analyze returns by SKU, reason, and cost, and how to spot wardrobing, serial returners, and refund-not-returned abuse, without hiring a data team.
Kateryna Kozachenko
13 min read

The 8 Best AI Data Analyst Tools in 2026
An honest 2026 guide to the AI data analyst tools worth shortlisting. Bruin, ThoughtSpot, Hex, Dot, Seek AI, Defog, Power BI Copilot, and ChatGPT with MCP - with pros, cons, pricing, and when each one actually fits across SaaS, ecommerce, gaming, and agencies.
Kateryna Kozachenko
18 min read

Bruin VS Code Extension: The Architectural Challenge of Integrating Vue.js Webviews
How we built a rich, interactive VS Code extension using Vue.js webviews, bridging Node.js extension code with a modern frontend through message passing.
Djamila Baroudi
6 min read

Introducing Bruin MCP: Your AI Agent's Data Toolkit
Bruin now supports the Model Context Protocol, letting AI agents in Cursor, Claude Code, and other editors query databases, ingest data, compare tables, and build pipelines-all through natural language.
Burak Karakan
6 min read

My 3 Month Internship Journey
My first internship experience at Bruin, where I shipped real features and learned a lot.
Mustafa Ersan
5 min read

Python vs SQL: Choosing the Right Tool
A practical guide to choosing between Python and SQL for data transformations. Learn when to use each tool, common antipatterns to avoid, and decision frameworks that work.
Burak Karakan
12 min read

dbt vs Bruin: Why End-to-End Wins Over Transformation-Only
dbt only handles transformations, leaving you with a complex stack. Bruin provides end-to-end pipelines with data ingestion, SQL & Python transformations, quality checks, and built-in orchestration-all in one open-source tool.
Burak Karakan
15 min read

The Effective LLM Multi-Tenant Security Solution
A practical pattern to secure LLM-generated SQL in multi-tenant systems by pre-filtering data with CTEs so the model never sees cross-tenant rows.
Sabri Karagonen
12 min read

Fivetran vs Bruin: Beyond Data Ingestion
Fivetran only handles data ingestion, leaving you with a complex stack. Bruin provides end-to-end pipelines with ingestion, transformations, quality checks, and Python custom connectors-all in one open-source tool.
Burak Karakan
12 min read

How I Survived (and Thrived) in the Zombie Apocalypse
A story about hunting zombie tasks in a distributed environment
Alberto Gomez
10 min read

The Hidden Costs of DIY Data Pipelines
Building your own data pipelines seems cost-effective until you do the math. Here's a detailed breakdown of what companies actually spend on homegrown solutions.
Burak Karakan
10 min read

Launch: Bruin CLI
Bruin CLI is an open-source data pipeline tool built with Go, with built-in data ingestion, transformation, and data quality checks.
Burak Karakan
8 min read
No-code data platform is a lie
A critical look at the limitations of no-code data platforms and why code-first approaches provide more flexibility and long-term value for growing data teams.
Burak Karakan
9 min read
Summarising User Behaviour: The Users Daily Table
Creating a comprehensive daily user behavior table in BigQuery using Firebase analytics data to track user engagement metrics and analyze patterns over time.
Sabri Karagonen
14 min read

Unnesting Firebase Events Table
A step-by-step guide to unnesting and transforming Firebase events data in BigQuery for easier analysis and more efficient queries.
Sabri Karagonen
12 min read
The Pains of Data Ingestion
Why is data ingestion so hard? This post explores the challenges of data ingestion and introduces ingestr, an open-source solution to simplify the process.
Burak Karakan
8 min read

Firebase Events Table
A comprehensive guide to querying and working with the Firebase events table in BigQuery, including useful functions and techniques for easier data analysis.
Sabri Karagonen
15 min read

The Mythical Data Team
How companies are approaching data teams wrong, and why a cultural shift towards treating data as a core value is needed for organizations to become truly data-driven.
Burak Karakan
6 min read
Firebase Analytics BigQuery Export: Official Docs and Settings
Use the official Firebase BigQuery export flow, then fix the settings most teams miss: region, streaming export, advertising identifiers, and the 60-day table expiry.
Sabri Karagonen
5 min read