CRO Viewport
Full-Stack App
  • React
  • Next.js
  • Tailwind CSS
  • TypeScript
  • REST APIs
Back to Portfolio
Viewport "Live Dashboard" page
Viewport "Live Dashboard" page
Goals
  • Provide a single, consolidated view of all A/B tests across clients
  • Surface segmented performance data that is otherwise buried within third-party testing platforms
  • Detect anomalies early to prevent broken or invalid tests from wasting client spend.
  • Save analysts and developers time by reducing the need to manually dig through scattered reports.
"All Tests" view
"All Tests" view
Strategy

Our A/B Testing team ran simultaneous experiments for multiple clients, each in separate third-party testing platforms. To provide a unified view across all clients, I designed and developed a React/Next.js application that leveraged testing platform APIs to surface data normally buried behind multiple clicks.

The application features a "Live Dashboard" view that displays test performance across seven key segments, such as mobile traffic and new visitors. Each metric is paired with a progress bar indicating its level of statistical significance, with conditional styling added as significance increases to signal when a test is nearing completion.

I also implemented anomaly detection, which flags tests showing statistically significant negative performance. For example, a client-side change might cause a test to render incorrectly for mobile visitors. This feature helps analysts catch issues quickly and prevent wasted spend. A natural extension of this feature would be to proactively send email alerts when an anomaly is detected.

Third-party APIs used by CRO Viewport
Third-party APIs used by CRO Viewport
Results

CRO Viewport transformed how our team tracked experiments: data that was once scattered and difficult to access is now available in a single, intuitive view. By adding anomaly detection and clearer performance signals, the app not only saves analysts time but also increases confidence in the results we deliver to clients. In fact, within days of launch the system flagged a mobile rendering issue that would otherwise have gone unnoticed for two to three weeks — preventing wasted budget and protecting the integrity of the test.

The "details" page for a specific test, featuring all data returned by the API for each goal and segment along with an AI summary
The "details" page for a specific test, featuring all data returned by the API for each goal and segment along with an AI summary