Productivity
personal-analytics
Analyze conversation patterns, track
---
name: personal-analytics
description: Analyze conversation patterns, track productivity, and surface self-knowledge insights. Use when user wants to understand their own patterns (when they chat, what topics they discuss, productivity trends, sentiment over time). Provides weekly/monthly reports, topic recommendations, and time-based insights. Privacy-first design with all analysis local.
---
# Personal Analytics
**Know thyself. Work smarter. Discover patterns you didn't know existed.**
Personal Analytics analyzes your conversation patterns to surface actionable insights about your work style, interests, and productivityβall while keeping your data completely private and local.
## Core Capabilities
1. **Session Analysis** - When you chat, for how long, productivity patterns
2. **Topic Tracking** - What subjects come up repeatedly, trending interests
3. **Sentiment Patterns** - Mood tracking over time, stress indicators
4. **Productivity Insights** - When you're most effective, optimal work times
5. **Weekly/Monthly Reports** - Beautiful summaries of your patterns
6. **Topic Recommendations** - Auto-suggest topics for proactive-research monitoring
## Privacy First
π **All analysis happens locally. Nothing leaves your machine.**
- Raw conversations **never** stored
- Only aggregated statistics saved
- Opt-in design (must enable)
- Data deletion anytime
- No external APIs for analysis
- Gitignored data files
## Quick Start
```bash
# Initialize
cp config.example.json config.json
# Enable tracking
python3 scripts/enable.py
# Analyze current sessions
python3 scripts/analyze.py
# Generate report
python3 scripts/report.py weekly
# Get topic recommendations
python3 scripts/recommend.py
```
## What Gets Tracked
### Session Metadata
- Timestamp (start/end)
- Duration
- Message count
- Primary topics discussed
- Sentiment (positive/neutral/negative/mixed)
- Productivity markers (tasks completed, decisions made)
### Aggregated Stats
- Hourly activity heatmap
- Topic frequency over time
- Average session duration
- Productivity by time of day
- Sentiment trends
### What's NOT Tracked
- β Raw message content
- β Personal information
- β Sensitive data (passwords, keys, etc.)
- β Specific conversations
## Configuration
### config.json
```json
{
"enabled": true,
"tracking": {
"sessions": true,
"topics": true,
"sentiment": true,
"productivity": true
},
"privacy": {
"min_aggregation_window_hours": 24,
"auto_delete_after_days": 90,
"exclude_patterns": ["password", "secret", "token", "key"]
},
"insights": {
"productivity_markers": [
"completed", "shipped", "fixed", "merged", "deployed"
],
"stress_indicators": [
"urgent", "asap", "critical", "broken", "emergency"
]
},
"reports": {
"weekly_day": "sunday",
"weekly_time": "20:00",
"auto_send": false
},
"integrations": {
"proactive_research": {
"auto_suggest_topics": true,
"suggestion_threshold": 3
}
}
}
```
## Scripts
### analyze.py
Analyze conversation patterns:
```bash
# Analyze all available data
python3 scripts/analyze.py
# Analyze specific time range
python3 scripts/analyze.py --since "2026-01-01" --until "2026-01-31"
# Analyze and show insights
python3 scripts/analyze.py --insights
# Verbose output
python3 scripts/analyze.py --verbose
```
**Output:**
```
π Personal Analytics Analysis
Period: Jan 1 - Jan 28, 2026 (28 days)
Session Summary:
Total sessions: 145
Total time: 18h 32m
Avg session: 7m 40s
Most active: Tuesday 10:00-11:00
Topics (Top 10):
1. Python (32 sessions)
2. FM26 (28 sessions)
3. Dirac Live (15 sessions)
4. ETH/crypto (12 sessions)
5. Docker (11 sessions)
...
Productivity:
High productivity: 09:00-12:00, 14:00-16:00
Low productivity: Late night (after 22:00)
Peak day: Wednesday
Sentiment:
Positive: 62%
Neutral: 28%
Negative: 8%
Mixed: 2%
```
### report.py
Generate beautiful reports:
```bash
# Weekly report
python3 scripts/report.py weekly
# Monthly report
python3 scripts/report.py monthly
# Custom range
python3 scripts/report.py custom --since "2026-01-01" --until "2026-01-31"
# Export to file
python3 scripts/report.py weekly --output report.md
# Send via Telegram
python3 scripts/report.py weekly --send
```
**Report Format:**
```markdown
# π Weekly Analytics Report
**Jan 22 - Jan 28, 2026**
## π― Highlights
- **Most productive day:** Wednesday (4 tasks completed)
- **Peak hours:** 09:00-11:00 (3h 45m focused work)
- **Emerging topic:** Rust (mentioned 12 times, +200% from last week)
- **Mood trend:** βοΈ Improving (78% positive, up from 65%)
## β° Time Patterns
### Activity Heatmap
```
Mon ββββββββββββββββββββββββ 4h
Tue ββββββββββββββββββββββββ 6h 30m
Wed ββββββββββββββββββββββββ 8h 15m β Peak
Thu ββββββββββββββββββββββββ 5h
Fri ββββββββββββββββββββββββ 3h 45m
Sat ββββββββββββββββββββββββ 1h 30m
Sun ββββββββββββββββββββββββ 45m
```
### Hourly Distribution
```
06-09: ββββββββββ (12%)
09-12: ββββββββββ (38%) β Peak productivity
12-14: ββββββββββ (15%)
14-17: ββββββββββ (24%)
17-22: ββββββββββ (11%)
```
## π Topic Insights
### Top Topics This Week
1. **Python Development** (32 sessions)
- Focus: FastAPI, async, testing
- Trend: Steady
- Suggestion: Monitor "Python 3.13 features"
2. **FM26** (28 sessions)
- Focus: Tactics, transfers, editor
- Trend: βοΈ +15%
- Suggestion: Already monitoring "FM26 patches" β
3. **Audio Engineering** (15 sessions)
- Focus: Dirac Live, room correction, bass management
- Trend: π New topic
- Suggestion: Monitor "Dirac Live updates"
### Emerging Topics
- **Rust** (12 mentions, first appearance)
- **Kubernetes** (8 mentions, +300%)
- **Machine Learning** (6 mentions)
## π‘ Productivity Insights
### Task Completion
- Total tasks: 23 completed
- Success rate: 87%
- Best day: Wednesday (6 tasks)
- Best time: Morning (09:00-12:00)
### Focus Sessions
- Long sessions (>30m): 8
- Average focus time: 18m
- Longest session: 1h 42m (Wed 10:15)
### Problem-Solving Speed
- Quick wins (<15m): 14 problems
- Complex issues (>1h): 3 problems
- Average: 24m per problem
## π Sentiment & Well-being
### Overall Mood
```
π Positive ββββββββββββββββββ 78% (βοΈ +13%)
π Neutral ββββββββββββββββββ 18%
π Negative ββββββββββββββββββ 4%
```
### Stress Indicators
- High stress: 3 sessions (down from 7)
- Urgent keywords: 5 (down from 12)
- Late-night work: 2 sessions (down from 8)
**Insight:** Stress levels decreasing. Good work-life balance this week! π
## π― Recommendations
### For Proactive Research
Based on your interests this week, consider monitoring:
1. **Rust language updates** (mentioned 12x, new interest)
2. **Dirac Live releases** (mentioned 15x, active problem-solving)
3. **Kubernetes security** (mentioned 8x, DevOps focus)
### Productivity Tips
- **Schedule deep work 09:00-11:00** (your peak productivity)
- **Batch meetings after lunch** (14:00-16:00 is secondary peak)
- **Avoid late-night sessions** (22% slower problem-solving)
### Topics to Explore
Based on your current interests, you might enjoy:
- Async Rust patterns (combines Rust + async focus)
- Kubernetes observability (combines K8s + monitoring)
- Audio DSP with Python (combines audio + Python)
---
_Generated by Personal Analytics β’ Privacy-first, locally processed_
```
### recommend.py
Get topic recommendations for proactive-research:
```bash
# Get recommendations
python3 scripts/recommend.py
# Show reasoning
python3 scripts/recommend.py --explain
# Auto-add to proactive-research
python3 scripts/recommend.py --auto-add
# Set threshold (minimum mentions)
python3 scripts/recommend.py --threshold 5
```
**Output:**
```
π‘ Topic Recommendations for Proactive Research
Based on your conversation patterns:
1. Rust Language Updates
Mentioned: 12 times this week (new topic)
Reason: Emerging interest, high engagement
Suggested query: "Rust language updates releases"
Suggested frequency: weekly
2. Dirac Live Updates
Mentioned: 15 times this week
Reason: Active problem-solving, technical depth
Suggested query: "Dirac Live update release"
Suggested frequency: daily
3. FM26 Patches
Mentioned: 28 times this week
Reason: Consistent interest over time
NOTE: Already monitoring! β
Would you like to add these topics to proactive-research? [y/N]
```
### session_tracker.py
Track individual sessions (called by Moltbot):
```bash
# Log session start
python3 scripts/session_tracker.py start --channel telegram
# Log session end
python3 scripts/session_tracker.py end --session-id <id>
# Log message (topics, sentiment)
python3 scripts/session_tracker.py message --session-id <id> \
--topics "Python,Docker" \
--sentiment positive
```
This script is designed to be called by Moltbot hooks, not manually.
### enable.py / disable.py
Manage tracking:
```bash
# Enable tracking
python3 scripts/enable.py
# Disable tracking
python3 scripts/disable.py
# Show status
python3 scripts/status.py
```
## Integration with Moltbot
Personal Analytics can integrate with Moltbot session lifecycle:
### Hook Points
1. **Session Start** - Log timestamp, channel
2. **Session End** - Calculate duration, save stats
3. **Message Received** - Extract topics (lightweight), detect sentiment
### Recommended Setup
Add to Moltbot SOUL.md:
```markdown
## Personal Analytics Integration
After each session ends, if personal-analytics is enabled:
1. Extract primary topics discussed (max 5)
2. Determine overall sentiment
3. Detect productivity markers (tasks completed)
4. Log to personal-analytics via session_tracker.py
```
## Data Storage
### .analytics_data.json
Aggregated statistics only:
```json
{
"sessions": [
{
"id": "session_uuid",
"start": "2026-01-28T10:00:00Z",
"end": "2026-01-28T10:15:00Z",
"duration_seconds": 900,
"channel": "telegram",
"topics": ["Python", "Docker"],
... (truncated)
productivity
By
Comments
Sign in to leave a comment