Skip to content
Trusted Media Brands2026Live

Analytics Dashboard

A Cloud Run, BigQuery, and dbt reporting stack built to replace a paid Supermetrics subscription.

Cloud RunBigQuerydbt
Depiction of a dark reporting dashboard titled Analytics Dashboard: a sidebar listing Overview, Sources, Models, Ingestion and Warehouse; four KPI tiles labelled Sessions, Pageviews, Sources Synced and Rows Loaded whose values are em-dashes above small orange sparklines; an unlabelled time-series line chart and a stacked bar chart; and a data table with Source, Connector, Last Sync, Rows and Status columns where numeric cells read as dashes and status pills read Synced and Running.
Concept mockup — the reporting layer the stack feeds: warehouse tables surfaced as charts and a per-source sync table.

The Problem

TMB was paying for Supermetrics to pull marketing and content data into reporting. It worked, but it was a black box the team didn't own and couldn't extend.

What I Built

An owned replacement built on Cloud Run, BigQuery, and dbt. Cloud Run handles ingestion, BigQuery is the warehouse, and dbt models the transforms, so the team controls the pipeline instead of renting someone else's.

Selected Work

Depiction of a dbt lineage graph: nodes flow left to right across four columns headed Sources, Staging, Intermediate and Marts, from raw_events, raw_campaigns and raw_content through stg_ models into int_sessions_joined and int_campaign_spend, ending at mart_content_performance, which is highlighted in orange, and mart_channel_summary.
Concept mockup — dbt model lineage: raw sources through staging and intermediate models into the reporting marts.
Depiction of an ingestion run monitor headed Ingestion Runs with the subheading Cloud Run connectors: six connector rows named web_analytics, ad_spend, email_metrics, content_cms, social_reach and search_console_export, each showing Duration, Rows and Last run fields filled with em-dashes, a strip of run-history squares, and a state pill reading Succeeded, Queued, or an orange Running with a spinner.
Concept mockup — the Cloud Run ingestion monitor: one row per connector, with run state and run history.

How It Works

01Cloud Run ingestion
02BigQuery warehouse
03dbt transforms
04reporting dashboard

Outcome

Reporting now runs on infrastructure TMB owns and can extend, instead of a third-party subscription.

My role

Creative Technologist at TMB — designed the pipeline, built it, and shipped it to production.

Stack

Google Cloud PlatformCloud RunBigQuerydbt