ConvoMetrics is a powerful, Python-based chat analysis tool and interactive Streamlit dashboard. It takes your exported Telegram or WhatsApp chat histories and decodes them using Pandas, Data Visualization (Plotly), and Natural Language Processing (NLP) superpowers to reveal fascinating conversational insights.
- Multi-Platform Support: Seamlessly parses both Telegram (JSON) and WhatsApp (TXT) chat exports.
- High-Level Statistics: Instantly view total messages, words, characters, days talked, and participant breakdowns.
- Activity & Time Trends: Discover your busiest messaging days, hourly activity patterns, and conversational volume over time using beautiful, interactive Plotly charts.
- NLP Word Analysis & Visual Word Cloud ☁️: Automatically filters out common filler words (stopwords) using
NLTKto reveal the actual topics, generating a beautiful Word Cloud and bar charts. - Word Searcher 🔍: Wondering who said a specific word the most? Search for it and instantly see a breakdown of who used it and a timeline of when it was said!
- Emoji Analytics 😂❤️🔥: Extracts and counts emojis used in the chat, displaying the top emojis specific to each sender.
- Lightning Fast: Uses
pandasDataFrames and Streamlit caching to process tens of thousands of messages in seconds.
-
Clone the repository:
git clone https://github.com/YourUsername/ConvoMetrics.git cd ConvoMetrics -
Install the required libraries: Make sure you have Python installed. Then run:
python -m pip install -r requirements.txt
(This will install
streamlit,pandas,plotly,nltk,emoji,wordcloud, andmatplotlib) -
Run the Dashboard:
python -m streamlit run app.py
Your browser will automatically open the dashboard at
http://localhost:8501.
To use ConvoMetrics, you need to provide your chat data. Here is how to get it:
- Open the Telegram Desktop app.
- Go to your preferred chat.
- Click the three dots (top right corner) and select Export chat history.
- Uncheck all media types (Photos, Videos, etc.) to keep the file small.
- Under "Format", ensure you select Machine-readable JSON.
- Export and upload the resulting
result.jsonfile to the app.
- Open WhatsApp on your phone and navigate to the chat you want to analyze.
- Tap the contact's name at the top.
- Scroll down and tap Export Chat.
- Choose Without Media.
- Save the generated
.txtfile to your computer and upload it to the app.
- Frontend / Framework: Streamlit
- Data Manipulation: Pandas
- Data Visualization: Plotly, WordCloud
- Natural Language Processing: NLTK
- Emoji Parsing: emoji
Made with ❤️ by Meet. Consider Starring 🌟 the repository if you like it!