Dashboard Usage¶
The interactive dashboard lets you explore emoji usage patterns through visualizations and filters.
Launching the Dashboard¶
Single Database¶
View data from one source:
emoji-explore data/emojis.sql
Multiple Databases¶
Combine and compare data from multiple sources:
emoji-explore data/signal.sql data/whatsapp.sql
When multiple databases are provided, chat names are automatically suffixed with the database filename to distinguish sources:
John Doe (signal)Alice (whatsapp)
Options¶
| Option | Default | Description |
|---|---|---|
db_paths |
(required) | One or more paths to SQLite databases |
--port |
8050 |
Port to run the server on |
--no-debug |
(disabled) | Disable debug mode and auto-reload |
Accessing the Dashboard¶
After launching, open your browser to:
http://127.0.0.1:8050
Or use the custom port:
emoji-explore data/emojis.sql --port 3000
# Open http://127.0.0.1:3000
Chart Types¶
Bar Chart¶
Shows the total count for each emoji.
- Each bar represents one emoji
- Height indicates frequency
- Colors distinguish different emojis
- Hover to see exact counts
Best for: Comparing popularity of different emojis
Pie Chart¶
Shows the proportional distribution of emoji usage.
- Each slice represents one emoji
- Size shows relative frequency
- Labels show emoji, count, and percentage
- Hover for detailed information
Best for: Understanding emoji distribution and proportions
Time Series¶
Shows cumulative emoji usage over time.
- X-axis: Time (message timestamps)
- Y-axis: Cumulative count
- One line per emoji
- Bold black line shows total across all emojis
- Legend sorted by final cumulative count
Best for: Tracking emoji usage growth and trends
Filters¶
User Filter¶
Select a specific user or view everyone's emojis.
- Default: "Everyone"
- Updates chart to show only that user's emojis
- When changed, chat filter updates to show only chats where that user has messages
Tip: If "You" is in the list, it appears at the top for quick access.
Chat Filter¶
Select a specific chat or view all chats.
- Default: "All Chats"
- Updates chart to show only emojis from that chat
- When changed, user filter updates to show only users in that chat
Dynamic Filtering¶
Filters update dynamically based on each other:
- Select a user → Chat dropdown shows only chats where that user participated
- Select a chat → User dropdown shows only users in that chat
- Select "Everyone" or "All Chats" to reset
This makes it easy to drill down into specific conversations or users.
Interactive Controls¶
Show All / Hide All Buttons¶
Toggle visibility of all emojis at once:
- Show All: Make all emoji traces visible
- Hide All: Hide all emoji traces (legendonly mode)
Available on bar charts and time series.
Note: Due to a Plotly limitation, these buttons don't work correctly for pie charts.
Legend Interactions¶
Click on legend entries to:
- Single click: Toggle that emoji's visibility
- Works on all chart types
- Hidden emojis are grayed out in the legend
Hover Information¶
Hover over any data point to see:
- Bar/Pie: Emoji, count, and percentage
- Time series: Date, emoji, and cumulative count
Tips and Tricks¶
Comparing Platforms¶
Use multiple databases to compare Signal vs WhatsApp usage:
emoji-explore data/signal.sql data/whatsapp.sql
Chat names will be suffixed (e.g., "Alice (signal)", "Alice (whatsapp)") to distinguish between platforms.
Finding Active Periods¶
Use the time series chart to identify:
- Periods of high emoji usage
- When specific emojis became popular
- Overall message activity trends
User Analysis¶
- Select "Time Series" chart type
- Choose a specific user from the user filter
- See that user's emoji usage evolution
Chat Comparison¶
- Select "Bar Chart" or "Pie Chart"
- Choose "Everyone" for users
- Switch between different chats to compare emoji preferences