Overview
The Usage Dashboard provides detailed analytics about your PolyChat-AI usage. Access it anytime by pressingCtrl+U (or Cmd+U on Mac).
All usage statistics are stored locally in your browser and never sent to external servers.
Accessing the Dashboard
There are two ways to open the Usage Dashboard:- Keyboard shortcut: Press
Ctrl+U(Windows/Linux) orCmd+U(Mac) - Menu: Navigate through the application menu to find the Usage Dashboard option
Metrics Tracked
The dashboard tracks comprehensive statistics about your AI interactions:Global Statistics
These metrics provide an overview of your total usage across all models:Total Conversations
Number of unique conversations started
Total Messages
Combined count of all messages (user + assistant)
Average Response Time
Mean response time in milliseconds across all models
Detailed Message Counts
- Total User Messages: Count of messages you’ve sent
- Total Assistant Messages: Count of AI-generated responses
- Total Messages: Sum of user and assistant messages
The total messages metric counts each message sent to multiple models separately. For example, sending one message to 3 models counts as 3 messages.
Per-Model Statistics
For each AI model you’ve used, the dashboard displays:| Metric | Description | Location in Code |
|---|---|---|
| Conversations | Number of conversations using this model | perModel[modelId].conversations |
| Messages | Total messages exchanged with this model | perModel[modelId].messages |
| Avg Response Time | Average time (ms) for this model to respond | perModel[modelId].avgResponseTimeMs |
Example per-model display
Example per-model display
Data Structure
The usage statistics are managed by theuseUsageStats hook located in src/hooks/useUsageStats.ts:22. The data structure follows this TypeScript interface:
How Metrics Are Calculated
Response Time Averaging
Response times use a rolling average algorithm to maintain accuracy:Record Response
When an assistant message is received, the response time is measured in milliseconds
Calculate Model Average
The model’s average is updated using the formula:See
src/hooks/useUsageStats.ts:48-54Message Counting
Messages are tracked through three key functions:Data Persistence
Usage statistics are automatically saved to browser localStorage using Zustand’s persist middleware:- Storage key:
polychat-usage-stats - Update frequency: Real-time (after every tracked event)
- Data retention: Persists until you clear browser data or reset stats
Resetting Statistics
To reset all usage statistics:- Open the Usage Dashboard (
Ctrl+U) - Look for the “Reset Statistics” button
- Confirm the reset action
resetStats() function which restores all metrics to their default values (zeros) while updating the lastUpdated timestamp.
Use Cases
Track API Costs
Track API Costs
Monitor which models you use most frequently to estimate API costs. Cross-reference message counts with the pricing information in Settings (
Ctrl+,).Compare Model Performance
Compare Model Performance
Compare average response times across models to find the fastest options for your use case.
Monitor Usage Patterns
Monitor Usage Patterns
Review conversation counts to understand your daily/weekly usage patterns and optimize your workflow.
Optimize Model Selection
Optimize Model Selection
Identify which models you rely on most and consider whether they’re the best fit for your common tasks.
Privacy & Security
All statistics are stored locally in your browser’s localStorage
No usage data is sent to PolyChat servers or third parties
Statistics only include metadata (counts, times) - not message content
You can reset or clear all statistics at any time
Last Updated Timestamp
ThelastUpdated field shows when statistics were last modified. This ISO 8601 timestamp updates automatically whenever:
- A message is sent or received
- A new conversation is started
- Statistics are reset