Case 02 · Axenya

Pipeline dashboard: auditable forecast in real time

They were rebuilding the forecast by hand in Excel, four to five days, every two weeks. I rebuilt it as a real-time platform where every chart shows the exact CRM fields behind the number.

From 4 to 5 days of manual work to real time 8 panels in production, 20 releases, no recorded downtime 1,000+ CRM properties audited
The problem

Axenya is a B2B corporate health benefits broker with 81 people and a pipeline in the hundreds of millions of reais in ARR. Forecast meant exporting the entire pipeline to Excel and recalculating it cell by cell. Every number lived in a different spreadsheet, and nobody could trace it back to its source.

There was a legacy dashboard. The diagnosis from the people who used it was a single sentence: the numbers are hard to trace to their origin.

What stood
Forecast cycleFrom 4 to 5 manual days every two weeks to real time
Panels validated in production8: CRO, Forecast, Board, AE, BDR, Last 48h, Delta and Coverage
Releases20, with no recorded downtime over about 3 months
Properties audited1,000+, across 5 CRM objects
Manual consolidation removed2 to 3 hours a week
What I decided
  • Rebuild, not patch. I spent a week auditing the legacy dashboard before concluding, with data, that starting over was faster than maintaining it. A scoping decision, not a preference.
  • Source of truth before any screen. I defined which CRM fields count, standardized how they are read and published the canonical list for the other teams to use in their own analyses.
  • Auditability as architecture. Every chart opens a panel with the exact fields used in the calculation, traceable in real time. Snapshot data and historical data explicitly separated. A unique code per chart for cross-reference.
  • No intermediate database. The platform reads straight from the HubSpot API. Only the ARR calculation lives in the CRM, as a calculated field. Fewer points of failure and no stale data.
  • Business rules as a catalog, not a verbal agreement. Compensation logic, probabilities, filters and deduplication live in a versioned semantic catalog that generates each panel’s documentation. It exposed two conflicting probability rules coexisting in the old code.
  • A moving assumption becomes a parameter. Instead of rewriting the logic every time leadership changed an assumption, each panel got toggles: what counts as an active deal, whether a POC counts as revenue. The assumption becomes interface, not refactoring.
  • Built to be handed over. Documentation and architecture designed so other people, and other AI agents, could continue the project. That is what made the handover possible.
The human part

A dashboard is only worth something if the executive fills in the field. And they did not, because the deal screen was cluttered with fields useful to RevOps and useless to the person selling. The answer was not to push harder. It was to design progressive fill-in by stage, and to turn the forecast meeting into a written ritual: prework per executive, named hygiene follow-up, to-dos per AE and a report with the delta.

Some fields are necessary for me, not for them. Recognizing that was the decision that got the system used.

HubSpot APIGoogle AuthVercelGitHubClaude Code

The snapshot is a static copy of the platform, frozen in August 2026. Account and executive names were replaced by generic identifiers; values, dates and proportions reflect the real distribution of the pipeline. The snapshot holds 7 of the 8 panels.