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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a9482ff6a637e2728a67dc297db7e58c81a6ac9a059621d29265628e66d8fff
|
|
| MD5 |
7ccba6b968bf5cc0cfbe23fc0a299d58
|
|
| BLAKE2b-256 |
362a56e39c931ac08471bd69f80bb2ba68286606b518469ed09d6648d4dd08bb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
256de37385b27edbfad7f711f50944457a20b2d5950a03437ec0a6bcc4587097
|
|
| MD5 |
a2fb6788ab3b4cf29b21a9a03ddb20ac
|
|
| BLAKE2b-256 |
ae4d99f3e90c11377d8c471e94300d8f360c5c463a3563a07a3f79de3695e661
|