Project Competition
The Bruin Project Competition is closed and winners have been announced. Explore the projects built by the community and see the final awards below.

Grand Prize
Mac mini
Winner
Arnaud Francois won the grand prize for the competition.

Top 5
1 year Claude Pro subscription each
Award
The top 5 people in the final results won 1 year Claude Pro subscriptions.
All Participants
Gift card
Award
Every other participant received a gift card as a thank you for building with Bruin.
Important: The identity of all participants is subject to verification to ensure fair competition and prevent cheating, plagiarism, and spam.
How to Build Your Project
From zero to a complete data project in four steps, plus an optional cloud deployment.
Set Up Your Project
- -Install Bruin:
curl -LsSf https://getbruin.com/install/cli | sh - -Initialize a project:
bruin init empty my-project - -Choose your database: DuckDB (local, zero setup) or BigQuery (cloud)
- -Configure your connection in
.bruin.yml
Ingest Your Data
Three ways to get data into your project:
Ingestr YAML Assets
Built-in connectors for 100+ sources. Just define a YAML file.
name: chess.profiles type: ingestr parameters: source_connection: chess source_table: profiles destination: duckdb
DuckDB Read from URL
Read CSV or Parquet files directly from public URLs.
SELECT * FROM read_parquet( 'https://...data.parquet' );
Python Extract
Write a Python script that returns a DataFrame.
def materialize(): df = pd.read_csv(url) return df
Free dataset ideas
- -Chess.com — built-in ingestr source
- -BigQuery public datasets — Wikipedia, GitHub, Stack Overflow
- -NYC Taxi — Parquet files via URL or Python
- -Frankfurter API — exchange rates via Python
- -GitHub Archive — public event data via BigQuery or Parquet
- -Google Sheets — any spreadsheet via ingestr
Transform with SQL
- -Write SQL assets to clean, join, and aggregate your raw data
- -Materialize results as tables or views for downstream use
- -Add quality checks (not_null, unique, accepted_values) to validate your data
- -Run the pipeline:
bruin run .
/* @bruin
name: analytics.monthly_summary
type: duckdb.sql
materialization:
type: table
@bruin */
SELECT date_trunc('month', created_at) AS month,
count(*) AS total_records
FROM raw.my_data
GROUP BY 1;SQL assets guide → · Quality checks → · NYC Taxi Tutorial: Build the Pipeline →
Analyze with AI
Build a context layer and let AI understand your data:
- -Run
bruin ai enhance assets/to auto-generate descriptions, quality checks, and tags for all your assets - -Set up Bruin MCP in your IDE so AI agents can query and understand your data:
Cursor / Claude Code
claude mcp add bruin \ -- bruin mcp
VS Code
"bruin": {
"command": "bruin",
"args": ["mcp"]
}Codex CLI
[mcp_servers.bruin] command = "bruin" args = ["mcp"]
- -Ask Cursor, Claude Code, or Codex to analyze your data, find patterns, and generate insights
- -Alternatively: deploy to Bruin Cloud and use the AI Chat or AI Dashboard features for instant analysis
Bruin MCP setup → · AI enhance docs → · NYC Taxi Tutorial: Build with MCP →
Deploy to Bruin Cloud Optional
Take your pipeline to production with scheduling, monitoring, and AI-powered analysis.
- -Sign up for free at getbruin.com — no credit card required
- -Free tier includes credits to schedule and run your pipelines in the cloud
- -Access the AI Data Analyst — ask questions about your data in natural language from Slack, Teams, Google Chat, or the browser
- -Use the AI Dashboard Builder — generate dashboards with KPIs and charts from a single prompt
Cloud onboarding video → · AI Data Analyst tutorial → · AI Dashboard Builder tutorial →
Learning Resources
Everything you need to get started with Bruin.