1. Home
  2. Technology

Technology

We build and run the software behind your ad data.

Since 2013 our engineers have built pipelines, warehouses, dashboards, AI insights and AI agents for agencies, brands and ad-tech companies. Below is the stack we run, layer by layer, and the products we've built on it.

  • Amazon Ads
  • Walmart Connect
  • Shopify
  • Google Ads
  • Meta
  • TikTok
  • Attribution tools
  • Instacart
  • Criteo

TechEsthete data engine

  1. 01Pull
  2. 02Store
  3. 03Clean
  4. 04Dashboards
  5. 05AI insights
  6. 06AI actions
  • Dashboards
  • AI insightPlain-English summary of what changed
  • Agent actionBid change queued for approval
  • 2013building software, focused on ad data
  • 50+people across four offices
  • 44of them in engineering
  • 7ad-tech products engineered, below

The architecture

Sources plus the six steps, layer by layer. Click through it.

Every client platform we build follows the same shape. Pick a layer to see what it does, what we run it on and what we guard against.

Layer 01 of 07

Sources

We connect to each platform's own API with your credentials: ad spend, clicks and conversions, plus orders, inventory and attribution from the systems next to them.

  • Amazon Ads
  • Walmart Connect
  • Shopify
  • Google Ads
  • Meta
  • TikTok
  • Attribution tools
  • Instacart
  • Criteo

Tools

  • Amazon Ads API
  • Selling Partner API
  • Amazon Marketing Cloud
  • Walmart Connect
  • Shopify
  • Google Ads
  • Meta
  • TikTok
  • Attribution tools
  • Instacart
  • Criteo

What can go wrong, and what we do about it

  • Rate limits and throttlingRequests back off and retry, and are idempotent so a retry never double-counts.
  • Access tokens expireTokens are stored encrypted and refreshed before they lapse.
  • An API changes its fieldsSchema-change detection flags the change before it reaches a report.

Built this layer for: Protego · SellerFuse

Layer 02 of 07

Ingestion

Pipelines pull each source on a schedule, land the raw data untouched and hand it on. We write custom connectors for the hard APIs and use off-the-shelf ones where they already work well.

Tools

  • Airflow
  • Dagster
  • Custom API connectors
  • Airbyte
  • Fivetran
  • Python

What can go wrong, and what we do about it

  • A job fails at 3 a.m.Automatic retries, then an alert to a named engineer if it still fails.
  • Platforms restate past daysRestatement re-pulls refresh the trailing window so late conversions land.
  • A half-finished loadVersioned staging means a bad load never overwrites good data.

Built this layer for: Tinuiti · BTR Media

Layer 03 of 07

Warehouse

Everything lands in a warehouse in your cloud, under your account. You own the data, the code and the runbooks, and you can see every table.

Tools

  • Snowflake
  • BigQuery
  • Redshift
  • PostgreSQL
  • AWS
  • GCP
  • Azure
  • Terraform

What can go wrong, and what we do about it

  • Locked into a vendorYour account, your infrastructure as code, your repo.
  • Too many people with accessRole-based access, set up as code and reviewed with your team.
  • Data you can't traceRaw, staged and modeled layers kept apart, so any number traces back to source.

Built this layer for: Tinuiti · Protego

Layer 04 of 07

Models

dbt models turn raw platform data into one agreed set of tables: the same spend, sales and ROAS definition everywhere, joined to the business data that matters.

Tools

  • dbt
  • SQL
  • Python
  • dbt tests
  • Great Expectations

What can go wrong, and what we do about it

  • Every platform counts ROAS its own wayOne ROAS rule, defined once in the model and used everywhere.
  • Duplicate conversions across networksCross-network deduplication and reconciliation that finance signs off on.
  • Currencies and time zones mixedNormalized in the model, not fixed by hand in a spreadsheet.

Built this layer for: Mau Brands · Tinuiti

Layer 05 of 07

Dashboards and reports

Dashboards for your team and white-label reports for your clients, all reading from the same models, so two screens never show two answers.

Tools

  • Looker
  • Looker Studio
  • Power BI
  • Tableau
  • Metabase

What can go wrong, and what we do about it

  • Two dashboards, two numbersEvery view reads the same modeled tables.
  • Stale data presented as currentFreshness checks run before reports refresh.
  • Every client wants it differentlyClient-specific views without forking the pipeline.

Built this layer for: BTR Media · Mau Brands

Layer 06 of 07

AI insights

Once the data is trusted, AI summarizes what changed, spots anomalies and answers questions in plain English, grounded in the modeled warehouse.

Tools

  • LLMs
  • RAG
  • Semantic layer
  • Anomaly detection
  • Python

What can go wrong, and what we do about it

  • Made-up numbersAnswers are drawn from the modeled warehouse, not from memory.
  • Alert fatigueAnomaly detection tuned to what your team actually acts on.
  • A black boxEach insight links back to the rows and the rule behind it.

Built this layer for: Pixis · Protego

Layer 07 of 07

AI agents

Agents move bids and budgets, pace spend and flag problems, but only inside caps you set, with approval queues, full logging and rollback.

Tools

  • LangGraph
  • LangChain
  • Agent orchestration
  • FastAPI
  • Rules engine
  • Platform write APIs

What can go wrong, and what we do about it

  • A runaway changeHard caps on bids, budgets and which accounts are in scope.
  • A change nobody approvedApproval queues for anything outside the rules.
  • A bad callEvery change logged with before and after, and it can be rolled back.

Built this layer for: Tinuiti · SellerFuse

Products we've engineered

Software we've built and shipped.

Platforms in production for agencies, retail media companies and Amazon-focused SaaS. Pick one to see what we built.

Data and automation backbone

Tinuiti

One of the largest Amazon and retail media agencies. We rebuilt the data and automation layer that keeps every marketplace in one place.

What we built

  • Multi-source ETL across Amazon, Walmart, TikTok, Instacart and Criteo
  • A unified warehouse and BI framework, with Amazon Marketing Cloud integrated
  • Automation engines for bidding rules, pacing and dayparting
  • Amazon Ads API
  • Amazon Marketing Cloud
  • ETL pipelines
  • Data warehouse
  • BI dashboards
  • Automation engine
  • Dayparting
Read the Tinuiti case study

How the data moves

  1. Amazon · Walmart · TikTok · Instacart · Criteo
  2. Multi-source ETL
  3. Unified warehouse + AMC
  4. BI and automation engine
  • 120+automations live
  • 80+rules and workflows
  • Billionsof marketing records

Retail media platform

BTR Media

A retail media platform for brands and agencies. We built the pipelines and the unified dashboard behind it.

What we built

  • ETL pipelines for Amazon, Walmart and Instacart into one data model
  • A unified campaign dashboard across marketplaces
  • Automation for bid optimization, budget allocation and monitoring
  • Amazon Ads API
  • Retail media integrations
  • ETL pipelines
  • Data warehouse
  • BI dashboards
  • Automation engine
Read the BTR Media case study

How the data moves

  1. Amazon · Walmart · Instacart
  2. ETL pipelines
  3. Unified data model
  4. Dashboard and automation
  • 3marketplaces, one model
  • 50+campaigns in one dashboard
  • 30%less manual optimization

AI ad platform and creative studio

Pixis

An AI marketing platform. We worked as an engineering partner on two of its products.

What we built

  • Engineering on the cross-channel AI ad platform that recommends and applies optimizations
  • Engineering on the creative studio that links every asset to its performance
  • Ad network API connections, scheduled syncs and shared data models
  • Ad network APIs
  • ETL pipelines
  • Data models
  • AI optimization services
  • Creative asset management
  • Dashboards
Read the Pixis case study

How the data moves

  1. Meta · Google · TikTok APIs
  2. Pipelines and shared models
  3. AI optimization services
  4. Creative studio
  • 2products engineered

Amazon platform for agencies

SellerFuse

An Amazon platform for agencies. We built the pipelines, dashboards and automation engine behind it.

What we built

  • Amazon Ads API and SP-API data unified in one pipeline
  • Dashboards for ACOS, ROAS, campaigns and inventory health
  • Bid, budget and dayparting automation that reacts to low stock
  • Amazon Ads API
  • Amazon SP-API
  • Data engineering
  • Automation
Read the SellerFuse case study

How the data moves

  1. Ads API · SP-API
  2. Unified pipeline
  3. Dashboards
  4. Inventory-aware automation
  • 1pipeline for every client account

Amazon enforcement-risk platform

Protego

A SaaS platform that spots Amazon enforcement risk early. We built the complete backend data infrastructure.

What we built

  • Secure SP-API OAuth with encrypted token storage and refresh
  • Reports API workflow with retry, throttling and idempotency safeguards
  • A rules-based risk engine with AI-assisted explanations, on AWS
  • Amazon SP-API
  • AWS Lambda
  • SQS
  • S3
  • PostgreSQL
  • EventBridge
  • Risk engine
Read the Protego case study

How the data moves

  1. SP-API reports and events
  2. AWS ingestion (Lambda, SQS)
  3. Signal normalization
  4. Risk engine and alerts
  • 30+seller accounts connected
  • 20+risk signals tracked
  • 5 minto a risk score update

Amazon suspension case platform

Appeals Doctor

A platform for Amazon account and listing suspensions. We built the system behind its expert-led workflow.

What we built

  • Case tracking across sellers and agencies
  • Secure document upload and storage
  • Structured Plan of Action drafting and review
  • Amazon Seller Central
  • Case management
  • Document storage
  • BI dashboards
  • Workflow automation
Read the Appeals Doctor case study

How the data moves

  1. Seller cases and documents
  2. Case data model
  3. Workflow and review
  4. Status dashboards
  • 40+cases in one platform
  • 15sellers and agencies active
  • 25%less manual coordination

Amazon analytics platform

Mau Brands

An analytics and operations platform for Amazon sellers. Sales, inventory, ads and pricing in one view.

What we built

  • One dashboard for sales, inventory, advertising and pricing
  • Inventory forecasting, weeks of supply and stock-risk detection
  • Buy Box monitoring with competitor pricing
  • Amazon SP-API
  • Amazon Ads API
  • ETL pipelines
  • Data warehouse
  • BI dashboards
  • Inventory forecasting
  • Buy Box monitoring
Read the Mau Brands case study

How the data moves

  1. SP-API · Ads API
  2. ETL pipelines
  3. Warehouse and forecasting
  4. Dashboards
  • 25%less reporting time
  • 15%better campaign performance

On top of the data

Then we build what your team asks for.

Clean data in one place is the start. Most clients then want something specific built on it.

  1. 01

    Cleanup and reconciliation

    Cross-network deduplication, restated conversions, currency and time-zone fixes, and the matching finance signs off on.

  2. 02

    Forecasting and modeling

    Budget forecasts, marketing mix models and incrementality analysis built on the same clean data.

  3. 03

    Apps and tools on your data

    Internal tools, client portals and product features, like the ad platform and creative studio we engineered for Pixis.

Stack explorer

The tools we run in production.

Proven tools, deployed in your cloud and owned by you. Filter by layer.

34 tools

  • AirflowOrchestrates scheduled pulls and dependenciesIngestion
  • DagsterAsset-based orchestration with lineageIngestion
  • Custom API connectorsFor the APIs off-the-shelf tools missIngestion
  • AirbyteWhere it already works wellIngestion
  • FivetranWhere it already works wellIngestion
  • SnowflakeWarehouse in your accountStorage
  • BigQueryWarehouse in your GCP projectStorage
  • RedshiftWarehouse on AWSStorage
  • PostgreSQLApplication and product databasesStorage
  • S3Raw and staged filesStorage
  • dbtModels, tests and docsModeling
  • SQLThe language of the modelsModeling
  • Great ExpectationsData quality checksModeling
  • Meridian and RobynMarketing mix modelingModeling
  • LookerGoverned dashboardsBI
  • Looker StudioShareable client reportsBI
  • Power BIDashboards for Microsoft shopsBI
  • TableauAnalyst-led explorationBI
  • MetabaseLightweight self-serveBI
  • LLMsSummaries and plain-English questionsAI
  • RAGAnswers grounded in your dataAI
  • LangGraphAgent orchestrationAI
  • LangChainLLM tooling and chainsAI
  • Vector databasesSearch over campaign historyAI
  • AWSCloud-native microservicesCloud & DevOps
  • Lambda, SQS, EventBridgeEvent-driven pipelinesCloud & DevOps
  • TerraformInfrastructure as codeCloud & DevOps
  • DockerPackaged, repeatable servicesCloud & DevOps
  • GCP and AzureWhen that's where you runCloud & DevOps
  • PythonPipelines, services and modelsApp engineering
  • FastAPIAPIs for agents and appsApp engineering
  • Node.js and TypeScriptServices and integrationsApp engineering
  • React and Next.jsDashboards, portals and product UIsApp engineering
  • PHP and LaravelWeb apps and platformsApp engineering

Reliability and guardrails

Pipelines that recover. Agents that ask first.

Checks run on every pipeline, every time. And you choose how much an agent is allowed to do on its own.

Every pipeline run

  • Schema-change detection

    A platform renames or drops a field. We catch it on the next run, before it breaks a model or a report.

    Passed
  • Automatic retries

    Timeouts and throttling are retried with backoff. Repeated failures alert a named engineer.

    Passed
  • Versioned staging

    New data lands in a versioned staging layer first, so a bad load never overwrites good data.

    Passed
  • Restatement re-pulls

    Platforms revise past days. We re-pull the trailing window so late conversions are counted.

    Passed
  • Freshness checks

    Every table knows when it was last updated. Late feeds are flagged, and agents pause.

    Passed
  • Model tests

    dbt tests check keys, totals and accepted values on every run.

    Passed

How much the agent can do

Recommend only

Nothing changes in your ad accounts. The agent explains what it would do and why, and your team decides.

  1. DetectSpend on a campaign is running ahead of its daily pace.
  2. RecommendDrafts the change, with the numbers and the reason.
  3. NotifySends it to your team where they already work.
  4. You actA person makes the change, or doesn't.

Approve each change

The agent prepares the change and waits. Nothing is applied until someone on your team approves it.

  1. DetectSpend on a campaign is running ahead of its daily pace.
  2. ProposePrepares the exact bid or budget change.
  3. QueueWaits in the approval queue for a named approver.
  4. Apply and logOn approval it applies the change, logs before and after, and can roll it back.

Act within caps

You approve the rules once. The agent acts inside them, and anything outside goes to the approval queue.

  1. DetectSpend on a campaign is running ahead of its daily pace.
  2. Check capsBid caps, budget limits and accounts in scope, all set by you.
  3. Act or escalateInside the caps it acts. Outside them, it queues for approval.
  4. LogEvery change logged with before and after, ready to roll back.

Always on: agents stop if the data feed is late or looks wrong, every change is logged, and you can take control back at any time.

Have a platform or tool in mind?

Tell us what you want built on your ad data. An engineer will reply with how we'd build it and what we'd start with.

Talk to an engineer