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
- Log in with an admin account
- Navigate to
/admin/operations/overviewfor business metrics - Navigate to
/admin/operations/healthfor 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:
- Top Customers Section: Previously resolved customer names individually (N+1)
- 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 →