The reporting layer that found a 21-hour gap
A private dashboard and reporting layer built on top of an existing CRM — which replaced hours of manual reporting and surfaced a speed-to-lead problem nobody had been able to see.
This work is being carried out by Bipasha Das inside her current full-time employer, not under OPERIYA and not for an OPERIYA client. It is published here as implementation experience, described in her own words and generalised: the organisation is not named, and its commercial data is not disclosed.
- Manual reporting removed
- 8–12hours a weekRecurring reporting work across the team that the automated reports replaced, estimated across a normal week. Not timed.Estimated by Bipasha Das. Not independently audited.
- Median time to first response, measured
- 21.4hoursMeasured by the system across the leads in the CRM once the dashboards were live. A widely used benchmark for this is under five minutes. It is what was found, not what was achieved.Measured from the CRM's own records.
- Running cost
- $0a monthHosting, model and storage all sit inside free tiers at the current volumes. A tool with no licence fee survives a budget review.Stated by Bipasha Das.
The problem
The CRM held thousands of leads and almost none of the answers anyone actually asked for. How is the month going, who is behind on follow-ups, how quickly are we responding — each of those questions was answered by a person exporting data and building a view by hand, which meant the answer arrived late, arrived differently each time, and arrived only when somebody had the time to produce it.
Manual reporting also fails in a specific direction. It reports what someone thought to look at. Problems that nobody has framed as a question — a queue of overdue follow-ups, a response time that has quietly drifted — do not show up in a report that is assembled by hand, because assembling it starts from what you already suspect.
Individual salespeople's names and their individual figures are not published here, and neither is any customer record.
What changed
A private, login-protected layer was built on top of the CRM rather than beside it: live dashboards over the same data, automated reports, and an assistant that answers questions of it in plain language. The CEO receives daily, weekly and monthly reports without asking. Each salesperson receives a morning plan and an end-of-day recap, and sees their own data only — which is both a privacy decision and the reason the numbers are trusted enough to be argued with.
Everything runs on free tiers: hosting, model and storage. That was a design constraint rather than a discovery. An internal tool with a monthly licence has to justify itself every renewal, and the first thing that happens when a business tightens up is that the reporting layer is cancelled and everyone goes back to exports. A tool that costs nothing to run survives that conversation.
Why it was built this way
The assistant was the least important part and the dashboards were not the point either. The point was that the questions get answered without anyone deciding to answer them, because a number that requires a decision to produce is a number that stops being produced in exactly the weeks when it matters most.
Before — the process as it stood
- Someone asks how the month is goingManual
- Export from the CRMManual
Rebuilt by hand each time.
- Assemble a viewManual
Different shape every time, so not comparable.
- Circulate it, lateManual
After — the process as rebuilt
- Reports send themselvesAutomated
Daily, weekly, monthly — nobody asks.
- Each rep gets a plan and a recapAutomated
Their own data only.
- Dashboards stay live against the CRMAutomated
- Questions get asked of the data directlyManual
In plain language, by whoever has the question.
Systems involved
- The existing sales CRM — the source of record
- Vercel — hosting
- Gemini — the assistant
- Upstash — storage
What it produced
Reporting stopped being work. The recurring hours that went into exports and hand-built views came back, and the reports now arrive on a schedule rather than when someone has capacity, which is the difference between a number you can act on and a number you can only explain.
The more valuable result was diagnostic. With the data live, two things became visible that had not been: a queue of overdue follow-ups sitting on a single person, and a median time-to-first-response of 21.4 hours against a widely used benchmark of five minutes. Neither was created by this build and neither is fixed by it. They are the kind of leak that stays invisible precisely because seeing it requires the reporting to be automatic.
The 21.4 hours is a finding, not an achievement — it is what the system measured when it was switched on, and it is published here as a diagnosis rather than as an outcome of the work. The hours-saved figure is a range because it varies by week, and the lower end is the one shown.
- Reports arrive on a schedule instead of when someone has time.
- Each salesperson sees their own data, which is why the numbers are trusted.
- A queue of overdue follow-ups became visible for the first time.
What it says about operations generally
Automating reporting is usually sold as time saved, and the time is the smaller half. The real return is that problems stop depending on somebody thinking to look for them. A 21-hour response time is not a subtle failure — it is the largest leak in most sales funnels — and it survived for as long as it did only because measuring it was somebody's job rather than the system's.
Is something like this running in your business?
The audit starts by finding out. One hour, no charge, and you leave knowing whether it is worth buying.