Skip to main content

Know yourself through your conversations

Project description

chatself 🪞

Know yourself through your conversations.

chatself is an open-source tool that turns your WhatsApp chat history into a personal mirror — revealing your communication patterns, relationship dynamics, emotional evolution, and the person you've become over the years.


What you'll discover

  • Your verbal tics — the phrases and words you repeat without noticing
  • Your emoji & sticker signature — what you reach for when words aren't enough
  • Relationship dynamics — who initiates, who responds, who's drifting
  • Your evolution year by year — how your language, habits, and circle have changed
  • The conversations that shaped you — key moments hidden in plain sight

Quickstart

1. Export your WhatsApp chats

On your phone: Settings → Chats → Export chat → Without media

Send yourself the .txt files for the conversations you want to analyze.

2. Install

pip install chatself

Or from source:

git clone https://github.com/yourusername/chatself
cd chatself
pip install -e .

3. Analyze

# Analyze a single exported chat
chatself analyze chat_with_Ana.txt

# Analyze a folder of exports
chatself analyze ./my_exports/

# Full interactive session (requires OpenAI or Anthropic API key)
chatself reflect ./my_exports/ --ai

Advanced: Full history from Android backup

If you want your complete history (all chats, all years), chatself supports the decrypted WhatsApp SQLite database (msgstore.db).

See docs/full-history.md for the step-by-step guide.


Privacy

Your data never leaves your machine unless you explicitly use the --ai flag (which sends anonymized summaries — never raw messages — to the LLM API of your choice).

All processing is local. No accounts. No telemetry.


Output

chatself produces:

Output Description
report.json Full structured analysis
report.html Visual dashboard (open in browser)
Interactive CLI Ask questions about yourself

Modules

Module What it does
parsers Parse WhatsApp .txt exports and msgstore.db
analytics.patterns Activity hours, response times, message ratios
analytics.vocabulary Verbal tics, n-grams, language evolution
analytics.emojis Emoji frequency, context, signature
analytics.relationships Balance, asymmetry, drift over time
analytics.timeline Year-by-year personal evolution

Contributing

PRs welcome. See CONTRIBUTING.md.


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatself-0.1.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chatself-0.1.0-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file chatself-0.1.0.tar.gz.

File metadata

  • Download URL: chatself-0.1.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for chatself-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5a9482ff6a637e2728a67dc297db7e58c81a6ac9a059621d29265628e66d8fff
MD5 7ccba6b968bf5cc0cfbe23fc0a299d58
BLAKE2b-256 362a56e39c931ac08471bd69f80bb2ba68286606b518469ed09d6648d4dd08bb

See more details on using hashes here.

File details

Details for the file chatself-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: chatself-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for chatself-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 256de37385b27edbfad7f711f50944457a20b2d5950a03437ec0a6bcc4587097
MD5 a2fb6788ab3b4cf29b21a9a03ddb20ac
BLAKE2b-256 ae4d99f3e90c11377d8c471e94300d8f360c5c463a3563a07a3f79de3695e661

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page