A powerful Streamlit-based dashboard to analyze WhatsApp chat exports — uncovering communication trends, sentiment insights, keyword usage, relationship dynamics, and more!
This project includes automated chat parsing + an interactive data analytics dashboard. It supports word clouds, reply-time analysis, conversation flow, temporal behavior, and even basic ML-based insights.
Convert raw .txt chat exports into CSV/Excel format using the script
Built with Streamlit, offering:
| Module | Insights |
|---|---|
| Overview | Total messages, active days, chat highlights |
| Basic Stats | Who texts more? Message length distribution |
| Keyword Analysis | Common phrases usage count |
| Temporal Patterns | Hourly + weekday communication patterns |
| Conversation Flow | Reply-time analysis, conversation starters |
| Word Clouds | Personalized clouds for each participant |
| Awards & Metrics | Fun badges like Chatterbox & Most Romantic |
| ML Predictions | Love message probability (demo model) |
| AI Chat (Cohere) | Ask AI questions about your chat insights |
Dashboard source:
| Category | Tools |
|---|---|
| Frontend UI | Streamlit |
| Data Processing | pandas, numpy |
| Visualization | matplotlib, seaborn, wordcloud |
| Sentiment Analysis | TextBlob |
| ML Models | scikit-learn |
| Optional AI Querying | Cohere |
All dependencies:
git clone https://github.com/yourusername/whatsapp-chat-analyzer.git
cd whatsapp-chat-analyzerpip install -r requirements.txtExport your WhatsApp chat as .txt, name it WhatsApp.txt, then run:
python "WhatsappChat to csv.py"This will generate:
cleaned_messages.csv
cleaned_messages.xlsx
Inside the project folder:
streamlit run "ChatAnalyzer.py"Once launched, upload/ensure cleaned_messages.csv is available — analytics begin instantly!
To use Cohere-powered AI insights:
- Create an API key → https://dashboard.cohere.com
- Add it to your Streamlit secrets:
.streamlit/secrets.toml
cohere_api_key="YOUR_API_KEY"Or edit directly in the script.
- Who initiates conversations more?
- Emotional positivity vs negativity over time
- Most active communication hours & days
- Keyword heatmap (Good morning / Sorry / Love etc.)
- Reply behavior — faster responder?
- Personalized word clouds
- Fun couple analytics 🥰
- More robust chat parser supporting multiple date formats
- Topic clustering using NLP
- Advanced sentiment trend forecasting
- Multi-chat comparison
Love Mathur Data Analyst & ML Developer