Case study / enterprise AdTech

From ~2 minutes to ~10 seconds.

Improving a slow, complex GraphQL reporting query while helping build reliable data pipelines across more than 20 advertising networks.

~12×faster report response
20+advertising networks integrated
1unified importer framework

The problem

Reporting that takes minutes breaks an otherwise useful product.

A complex GraphQL report had accumulated N+1 query patterns and expensive data access paths. At the same time, reporting data arrived from a growing collection of external advertising APIs, each with its own format and operational quirks.

What I changed

  • Investigated and removed critical N+1 access patterns.
  • Refactored legacy data tasks into a reusable importer framework.
  • Worked across reporting data sourced from Google Ads, TikTok, GAM, Mintegral, Liftoff, and more.

Impact

The most complex report fell from approximately two minutes to approximately ten seconds—making the reporting workflow substantially more usable while giving future integrations a clearer foundation.

Engineering context

Performance work connected to product infrastructure.

PythonGraphQL / StrawberryBigQueryGCPGKE

The work sat at the intersection of API design, data modelling, background ingestion, and production infrastructure—so the solution needed to improve speed without making integrations more brittle.

Takeaway

Measure the expensive path, then make the successful pattern reusable.

The durable result was not only a faster report. It was an importer approach that made additional data sources less costly to add and maintain.

Talk about performance work →