Custom app built on your data — your metrics, your drill-downs, your scheduled exports. Not Looker's approximation of them.
- Scope
- Ship
- Iterate
monthly subscription
Who this is for
CFO or COO who's hit the ceiling of off-the-shelf BI. Looker is too rigid for your exact unit economics. Excel exports are stale by the time Monday's staff meeting starts. And the custom metric engineering requested three quarters ago is still in the backlog. I build the reporting dashboard you actually need — connected to your CRM, billing, product, and finance data in one view your team uses every day.
The pain today
- Looker or Tableau seat costs rising while half the features go unused
- Excel exports 24+ hours out of date before any decision gets made
- Custom metric definitions stuck in engineering backlog for months
- Each department reports differently — no shared source of truth
- No path from executive summary down to the transaction that caused a number
The outcome you get
- KPI dashboard owned and understood by leadership, not dependent on engineering
- Drill-down from any summary metric to the contributing transaction records
- Scheduled email reports delivered to leadership and board on your cadence
- Cross-system view: CRM, billing, product, and finance in one place
- Historical trending and period-over-period comparisons ready for quarterly planning
Data architecture: the decision that determines everything else
Custom reporting dashboard development lives or dies at the architecture stage, not the charting stage. Three patterns to choose from.
Direct query against the operational database: simple, fast for small data volumes, but risks production performance at scale — every dashboard refresh competes with your live app traffic.
ETL into a warehouse (BigQuery, Snowflake, Redshift): clean separation between operational and analytical workloads, adds infrastructure, adds some latency, but that latency is usually acceptable for executive reporting. This is the pattern I recommend for most mid-size companies.
OLAP layer (Cube.js or similar): sits between raw warehouse tables and the dashboard, handles aggregations efficiently, and gives non-engineers a path to define metrics without writing SQL. Adds complexity worth adding only when multiple teams need self-serve metric definitions.
For most projects I use pattern two: a warehouse holds the truth, a set of materialized views handles the heavy aggregations, and the dashboard queries those views. Dashboards feel fast. Production stays healthy. I design this architecture in week one — everything downstream depends on it.
KPI dashboard owned and understood by leadership, not dependent on engineering
Role-based access: who sees what
Executive dashboards almost always carry multi-role requirements that off-the-shelf tools handle badly. The CEO sees company-wide pipeline and revenue. The CFO sees full P&L detail including sensitive line items. Regional managers see their territory only. Department heads see their cost centers.
I build RBAC into the data layer, not just the UI. That means permission checks happen before the query runs, not after — a user never receives data they shouldn't see and then have it hidden client-side. Role assignments are managed in an admin panel with audit logging, so you know who saw what and when. For reports containing material non-public financial data, I route distribution through an authenticated portal rather than plain email — the email notifies, the portal delivers.
This matters more for reporting dashboards than for almost any other internal tool. The data is usually the most sensitive thing you have.
3s → 300ms: API response time.
Chart libraries and visualization choices
Different charts for different jobs — I use purpose-fit libraries rather than a single all-in-one framework.
Time series and trends: ECharts or uPlot, both handle dense multi-series data without dropping frames. Cohort retention grids: custom D3 or a dedicated cohort component. Funnel visualization: ECharts funnel series. Geographic distribution: Mapbox GL. Large tabular data: AG Grid — the only table library I've found that handles sorting, filtering, grouping, pivoting, and CSV export reliably above a few hundred rows.
I stay away from embedding Grafana, Redash, or Metabase inside a custom app. Those tools are strong for engineering infrastructure metrics. For executive business reporting — SaaS unit economics, cohort churn, financial KPIs — they fight you at every domain-specific definition. A focused custom build with the right charting libraries is smaller, faster, and easier to maintain long-term.
Scheduled reports and board-facing exports
Many executives consume reporting as a Monday morning email, not a dashboard they log into. Both matter — I build both.
Scheduled reports are configurable by recipients, cadence (daily, weekly, monthly), and format (PDF or HTML email). A typical Monday report contains an executive summary paragraph, the top KPIs with week-over-week and month-over-month delta, and a drill-down link for anyone who wants to go deeper. Board-facing quarterly reports get a wider commentary area the CFO can populate without engineering involvement.
For sensitive financial reports — anything containing material data that should stay under NDA — distribution routes through an authenticated report portal. The email says a new report is ready; the portal delivers the content. That distinction matters when your board includes outside investors.
I built this pattern at Cuez, where the API went from 3 seconds to 300ms, giving the ops team real-time visibility into platform health. Operational reporting on the same principle: a system performing well that nobody can observe still causes daily anxiety.
When Looker or Metabase is the right answer
Off-the-shelf BI covers the majority of cases well. Custom reporting dashboard development earns its cost when at least one of these conditions is true.
Your metric definitions are proprietary. SaaS ARR with your exact expansion revenue model, marketplace take-rate with your specific attribution logic, subscription cohort churn with your exact trial-to-paid definition — off-the-shelf tools cannot build those metrics without LookML workarounds that become a maintenance burden.
Executive UX matters more than analyst self-serve. A CEO who needs three numbers before a board call should not be dragging columns in Looker Explore. Custom dashboards can surface exactly those three numbers, formatted for the decision at hand.
You already own the warehouse. If you're paying for Snowflake or BigQuery, the incremental cost of a custom front-end is lower than a Looker seat contract. The infrastructure cost is already in the budget.
I'll say plainly on the first call whether custom or off-the-shelf fits your situation. Custom is a longer commitment; the right off-the-shelf tool is often the smarter answer when your metric definitions are standard.
Timeline and what the subscription covers
Standard executive dashboards (5 to 15 KPIs, two or three data sources, scheduled email reports) go live in 4 to 6 weeks. That includes data architecture design, warehouse setup or connection, dashboard build, RBAC configuration, and scheduled report templates.
The $4,999/mo Applications Standard tier covers this scope. Pro at $5,499/mo is the right fit for multi-department reporting with deeper data integration, RBAC segmented by department, and advanced scheduled distribution.
The subscription continues past launch because reporting needs always evolve. Leadership learns what they actually want to see once they can see something. The first version answers the questions you know to ask; iterations handle the follow-up questions.
Warehouse costs (Snowflake, BigQuery, Redshift) are separate and invoiced directly to you — I don't mark them up. 14-day money-back, cancel anytime, Work Made for Hire. If you end the subscription, the codebase, infrastructure, and documentation belong to you.
Recent proof
A comparable engagement, delivered and documented.
Rescued a slow API that was blocking user growth
Cuez is a live broadcast production tool used by TV teams on air across Europe. I inherited a backend API averaging 3 seconds per response and cut it to 300ms, while reducing infrastructure costs by 40% and leaving the system stable under real production load.
Read the case studyFrequently asked questions
The questions prospects ask before they book.
Looker, Power BI, and Tableau are strong general-purpose tools. Custom reporting dashboard development makes sense when your metric definitions are specific to your business model, when executive UX matters more than analyst self-serve exploration, or when you already own warehouse infrastructure and want a front-end built for the decisions leadership actually makes — not for the analyst who's comfortable dragging columns.
Not always. For small data volumes (under 100k rows per source, simple aggregations) I can query your operational database directly. Above that threshold, a warehouse like BigQuery or Snowflake provides better isolation and aggregation performance. I assess your current data scale and growth trajectory in week one and recommend the lightest architecture that will hold up — warehouse when justified, direct query when it's enough.
Configurable per metric. Real-time via direct operational DB connection for live-critical metrics. Hourly or 15-minute refresh for standard KPI dashboards using warehouse materialized views. Daily for heavy analytical queries like cohort analysis. Most executive reporting is comfortable with 15-minute to hourly freshness — boards and leadership rarely need data updating faster than they can act on it.
Yes. Every KPI links to its contributing data. MRR drills into the specific subscription records. Pipeline value drills into individual deals. Cost metrics drill into the expense line items. Drill-down paths respect RBAC — the CFO sees every record, a regional manager sees only their territory. Access is enforced at the query layer, not the UI layer.
Permissions are enforced at the data layer before a query executes — not hidden client-side after data is returned. An admin panel lets you assign roles and adjust permissions without a code change. I add audit logging so you can see who accessed which reports and when. For material financial data, I route distribution through an authenticated portal rather than plain email.
You keep everything. Work Made for Hire means the codebase, infrastructure setup, and documentation are yours the moment you pay for them. Another developer can maintain the project because the code is clean, the architecture is documented, and there is no proprietary framework lock-in. I design for handoff from the start.
Agency quotes for custom BI dashboards typically run $30,000 to $150,000 as a fixed project, plus separate maintenance retainers. My Applications Standard tier starts at $4,999/mo — you pay as the product evolves, cancel if it stops delivering value, and own the code throughout. Warehouse infrastructure (BigQuery, Snowflake) is billed directly to you at cost with no markup.