# The reporting platform that removed an engineering bottleneck

> Replacing a third-party BI tool with customer self-service — and cutting template maintenance from half a day to about two minutes.

TestReach · 2022 — present

## Context

TestReach is a global SaaS assessment platform serving organizations that run online examinations. Reporting ran on a third-party BI tool, and reports were an engineering task: customers requested them, an engineer generated them, and the customer waited. As the customer base grew, that queue grew with it — and report templates could only be changed through a slow, multi-team collaboration with risky rollbacks.

## The problem

Three compounding issues: customers waited days for reports an engineer had to generate; template maintenance cost roughly half a day of cross-team effort per change; and demand swung wildly with examination schedules, so capacity had to be provisioned for peaks that mostly never came.

## What I did

- Designed the architecture for the replacement platform around one principle: the customer, not engineering, generates the report.
- Built report generation to stream output directly to S3, so report size is not bounded by memory or disk on the generating service.
- Turned template maintenance into an automated pipeline — a self-paced pull request merges, deploys in about two minutes, and rolls back as a single commit revert.
- Shipped the report module as an AngularJS micro frontend so it integrates into multiple parts of the platform.
- Used monitoring and time-window analysis of real usage to progressively reduce infrastructure allocation instead of guessing at peak capacity.

## What changed

What actually changed is the operational model, on both the customer side and the engineering side:

## The result

Customers generate their own reports according to their business agreements — no engineering queue, no days of waiting. Because template changes became fast and low-risk, the team has kept creating and expanding them — 60+ templates today, maintained through the ~2-minute pipeline instead of half-day cross-team efforts. Reports over 20 GB stream straight to S3 with no size ceiling, some generate up to ~2x faster than the previous workflow, and infrastructure allocation is roughly half of what it was, without the resource spikes the old system showed. The third-party BI tool remains only as a temporary fallback and is planned for discontinuation.

- **Days → self-serve** — report delivery — no engineering queue
- **½ day → ~2 min** — template maintenance
- **20+ GB** — reports streamed to S3, no size ceiling
- **~50%** — less infrastructure allocation

## What I would do differently

I would ship the automated template pipeline from day one. The first templates were maintained the old way, and only the pain of half-day, multi-team changes made the case for automation obvious in hindsight. I would also have instrumented usage windows earlier — the infrastructure savings came from data we were already collecting but only later started acting on.
