Md Abdullahil Shafi
← All case studies

TestReach · 2022 — present

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.

Platform engineeringReportingAWSSelf-service

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:

Customer side

Before

Customer requests a reportengineer generates itcustomer waits days

After

Customer generates the report themselves

Engineering side — template maintenance

Before

~half a day per changemulti-team collaborationrisky rollbacks

After

~2 minutesone self-paced PR merge & deployrollback = one commit revert

20+ GB
streamed straight to S3 — no size ceiling
up to ~2x
faster for some reports
~50%
infrastructure, without resource spikes

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.