The admin analytics dashboard provides comprehensive monitoring and insights into the Transcript Create system's health, usage, and business metrics.
- Authentication Required: You must be logged in as an admin user (email in
ADMIN_EMAILSenvironment variable) - URL: Navigate to
/admin/dashboardin the web interface - Navigation: Click "Dashboard" in the admin navigation menu
The dashboard displays at-a-glance metrics:
- Total Jobs: All-time jobs, today's jobs, this week's jobs
- Videos Transcribed: Completed and failed video counts
- Total Users: Total users, pro vs free breakdown
- Active Sessions: Currently active user sessions
- Searches Today: Search queries today and this week
- Exports Today: Export requests today and this week
- Queue Status: Pending jobs and jobs in progress
- New Signups: User signups today and this week
Real-time monitoring of system components:
Database:
- Status indicator (healthy/error)
- Total database size in MB
- Active connection count
Workers:
- Active transcription jobs
- Average processing time per video
- Error rate percentage (color-coded: green <5%, yellow 5-10%, red >10%)
Queue:
- Number of pending jobs
- Age of oldest pending job
Visual representations of system trends:
Jobs Over Time
- Line chart showing job creation over the last 30 days
- Helps identify usage patterns and growth trends
Job Status Breakdown
- Pie chart showing distribution of job statuses
- Shows completed, pending, failed, and in-progress jobs
Export Formats
- Bar chart showing popular export formats (SRT, VTT, JSON, PDF)
- Based on last 30 days of export events
Search Analytics
- Popular search terms with usage counts
- Zero-result searches count
- Average results per query
- Average query time in milliseconds
The dashboard automatically refreshes every 10 seconds to show the latest data.
- Toggle Auto-Refresh: Use the checkbox in the header
- Manual Refresh: Click "Refresh Now" button
- Last Update: Timestamp shown in the header
The dashboard consumes these API endpoints (all require admin authentication):
GET /admin/dashboard/metrics- Key metricsGET /admin/dashboard/system-health- System health dataGET /admin/dashboard/charts/jobs-over-time?days=30&period=daily- Jobs time seriesGET /admin/dashboard/charts/job-status-breakdown- Job status distributionGET /admin/dashboard/charts/export-format-breakdown?days=30- Export formatsGET /admin/dashboard/search-analytics?days=30- Search analytics
- Monitor Error Rates: Keep an eye on the worker error rate. Investigate if it exceeds 10%
- Queue Management: If the queue has jobs pending for >1 hour, check worker health
- Database Size: Monitor database growth to plan for scaling
- Search Performance: High zero-result searches may indicate poor search quality
- User Growth: Track signups to understand business growth
Dashboard won't load:
- Ensure you're logged in as an admin user
- Check that your email is in the
ADMIN_EMAILSenvironment variable - Verify the API server is running and accessible
Missing data in charts:
- Some charts require event tracking to be enabled
- Ensure events are being logged to the
eventstable - Check that the database has historical data
Slow performance:
- The dashboard makes multiple API calls on load
- Consider increasing database connection pool if needed
- Queries are optimized but may be slow with millions of rows
- Only admin users can access this dashboard
- All endpoints are protected by admin role requirement
- No sensitive user data is exposed (emails are not shown)
- Database connection details are not exposed
Potential additions (not currently implemented):
- WebSocket/SSE for real-time updates
- Alerts for critical thresholds
- Billing and revenue analytics
- Error tracking integration
- User activity drill-down
- Bulk job management actions
- CSV export of all analytics
- Email reports
