Skip to content

git-param/whatsapp-chat-analyzer

Repository files navigation

πŸ“Š WhatsApp Chat Analyzer

A powerful Streamlit web app to analyze WhatsApp chat exports. Get deep insights into your conversations with statistics, timelines, activity heatmaps, word clouds, emoji analysis, and sentiment detection.

Sample Output


πŸš€ Features

  • File Summary: Quick stats on messages, words, media, and links.
  • User Selection: Analyze overall or individual user activity.
  • Timelines: Interactive monthly and daily message trends.
  • Activity Analysis: Most active days/months and weekly heatmaps.
  • Wordcloud & Common Words: Visualize most used words.
  • Emoji Analysis: Top emojis and their usage.
  • Sentiment Analysis: Detect positive, negative, and neutral messages, with keyword and dangerous message detection.

πŸ› οΈ Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/WhatsappChat_Analyzer.git
    cd WhatsappChat_Analyzer
  2. Create and activate a virtual environment (recommended):

    python -m venv .venv
    .venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt

▢️ Usage

  1. Export your WhatsApp chat (without media) from your phone.
  2. Run the app:
    streamlit run app.py
  3. Open the web browser (usually at http://localhost:8501).
  4. Upload your chat .txt file and explore the analysis!

πŸ“ Project Structure

WhatsappChat_Analyzer/
β”‚
β”œβ”€β”€ app.py                # Main Streamlit app
β”œβ”€β”€ preprocessor.py       # Chat preprocessing functions
β”œβ”€β”€ helper.py             # Analysis helper functions
β”œβ”€β”€ sentiment.py          # Sentiment analysis logic
β”œβ”€β”€ requirements.txt      # Python dependencies
β”œβ”€β”€ logo.png              # App logo (optional)
└── README.md             # Project documentation

πŸ“ Notes

  • Only supports WhatsApp chat exports in .txt format.
  • For best results, export chats without media.
  • Sentiment analysis uses a pre-trained ML model (see sentiment.py).

πŸ“¦ Dependencies

See requirements.txt for the full list. Key packages:

  • streamlit
  • matplotlib
  • seaborn
  • plotly
  • pandas
  • numpy
  • scikit-learn
  • wordcloud
  • Tf/Idf Vector
  • emoji

πŸ™ Credits

Developed by Param Dholakia.
Inspired by the need for better chat insights!


πŸ“„ License

MIT License. See LICENSE for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages