Skip to content

Add speaker-tracker example#71

Open
jaredtribe wants to merge 1 commit intosteipete:mainfrom
jaredtribe:feature/speaker-tracker
Open

Add speaker-tracker example#71
jaredtribe wants to merge 1 commit intosteipete:mainfrom
jaredtribe:feature/speaker-tracker

Conversation

@jaredtribe
Copy link
Copy Markdown

Summary

A Python companion tool that reads wacli's SQLite database to track speakers across WhatsApp conversations.

Features

  • Speaker profiles: Track first/last seen, message counts, chats participated in
  • Privacy-preserving: JIDs are hashed (SHA256) for cross-chat tracking
  • Opt-out support: Remove contacts from tracking with a single command
  • Conversation notes: Manual annotations for future reference
  • Non-intrusive: Reads wacli.db (read-only), writes to a separate database

Why an example?

This demonstrates how to build complementary tools on top of wacli's message data without modifying wacli itself. It's a pattern others might find useful for building their own integrations (CRM sync, analytics, search indexes, etc.).

Usage

# Process new messages
python3 speaker-tracker.py process

# List tracked speakers
python3 speaker-tracker.py speakers

# Opt-out a contact
python3 speaker-tracker.py opt-out +14155551234@s.whatsapp.net

Requirements

  • Python 3.8+ (stdlib only, no pip dependencies)
  • wacli running with wacli sync

Happy to adjust location, naming, or scope based on your preferences. Just wanted to share a working example of building on wacli's data.

A Python companion tool that reads wacli's SQLite database to track
speakers across WhatsApp conversations.

Features:
- Speaker profiles with first/last seen, message counts
- Privacy-preserving hashed JIDs
- Opt-out support for contacts who don't want to be tracked
- Conversation notes for manual annotations
- Non-intrusive: reads wacli.db (read-only), writes to separate db

This demonstrates how to build complementary tools on top of wacli's
message data without modifying wacli itself.
@jaredtribe
Copy link
Copy Markdown
Author

Closing - need to review for sensitive data exposure

@jaredtribe jaredtribe closed this Feb 21, 2026
@jaredtribe jaredtribe reopened this Feb 21, 2026
@steipete steipete requested a review from dinakars777 as a code owner April 21, 2026 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant