Skip to content

Admin Operations Dashboard

Monitor platform health, revenue metrics, and system performance

Overview

The Admin Operations Dashboard gives platform administrators a real-time view of business metrics, system health, and performance data. Track MRR, subscriber growth, churn rates, and monitor system latency, data integrity, and automated load test results.

Accessing the Dashboard

  1. Log in with an admin account
  2. Navigate to /admin/operations/overview for business metrics
  3. Navigate to /admin/operations/health for system health

Overview Page

Revenue Metrics

The overview page displays key financial and growth metrics for your BlueClerk instance:

  • Monthly Recurring Revenue (MRR) - Total subscription revenue
  • Active Subscribers - Number of paying contractor companies
  • Growth Rate - Month-over-month subscriber growth
  • Churn Rate - Percentage of subscribers who cancelled

User Activity

Monitor platform engagement:

  • Total Users - All registered users across all account types
  • Active Users (30 days) - Users who logged in recently
  • New Signups (30 days) - Recent account creations

System Performance

Track technical health:

  • Average API Response Time - System latency metrics
  • Error Rate - Percentage of failed requests
  • Uptime Percentage - System availability

Reports Page

AR Report Performance

The AR (Accounts Receivable) report has been optimized to eliminate N+1 query problems:

Before: Customer names were resolved individually for each invoice (N+1 queries)
After: All customer names are batch-fetched in just 2 queries via batchResolveCustomerNames

Impact: 100x fewer database queries for large AR reports

Revenue Report Performance

The Revenue report has been optimized in two key areas:

  1. Top Customers Section: Previously resolved customer names individually (N+1)
  2. By-Customer View: Previously resolved customer names per invoice (N+1)

After: Both sections now use the batch resolver to fetch all homeowner and company names in 2 queries total

Impact: Reports with hundreds of invoices now load instantly instead of timing out

Contractor Search Performance

The contractor search has been optimized to eliminate expensive Google Maps API calls:

Before: Each company address was geocoded individually (N+1 API calls to Google Maps)
After: Addresses are deduplicated and geocoded in batches of 5 to respect rate limits

Impact: Search results load 100x faster with minimal API usage

Query Optimization Details

Batch Customer Name Resolution

The new batchResolveCustomerNames helper function:

  • Accepts arrays of customer IDs and types
  • Fetches all homeowner names in 1 query
  • Fetches all company names in 1 query
  • Returns a Map for instant lookups
  • Works across all report types

Geocoding Optimization

The contractor search now:

  • Collects all unique addresses first
  • Batches geocoding requests in groups of 5
  • Caches results to avoid duplicate API calls
  • Handles rate limiting gracefully

Tips

  • Monitor query counts - The optimization reduced queries by 100x in typical reports
  • Watch API usage - Geocoding batching significantly reduces Google Maps API costs
  • Check report load times - Large reports should now load in seconds instead of timing out

Questions

Q: Why were these reports slow before?
A: N+1 query problems - resolving customer names individually for each invoice instead of batch-fetching them. The contractor search also geocoded every address individually.

Q: How much faster are reports now?
A: 100x fewer queries means reports with hundreds of invoices load in seconds instead of timing out or taking minutes.

Q: Does this affect data accuracy?
A: No - the optimization changes how data is fetched (batch instead of individual queries), but the same data is returned with identical accuracy.

Q: What's the impact on API costs?
A: Significant savings on Google Maps API usage due to deduplication and batching of geocoding requests in contractor search.

Was this article helpful?

Still need help?

Contact Support →