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.
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
Customer requests a reportengineer generates itcustomer waits days
Customer generates the report themselves
Engineering side — template maintenance
~half a day per changemulti-team collaborationrisky rollbacks
~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.