{"id":28715174,"url":"https://github.com/aditiiprasad/whatsstat","last_synced_at":"2025-09-02T03:39:35.683Z","repository":{"id":295668165,"uuid":"990006973","full_name":"aditiiprasad/WhatsStat","owner":"aditiiprasad","description":"A fun and insightful WhatsApp chat analyzer that turns your conversations into beautiful stats, juicy graphs, and quirky insights.","archived":false,"fork":false,"pushed_at":"2025-05-26T18:42:20.000Z","size":1336,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-15T12:39:10.850Z","etag":null,"topics":["chat-analyzer","data-analysis","data-visualization","nlp","streamlit","text-processing","whatsapp"],"latest_commit_sha":null,"homepage":"https://whatsstat.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aditiiprasad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-25T10:01:12.000Z","updated_at":"2025-05-26T18:42:23.000Z","dependencies_parsed_at":"2025-05-26T19:44:21.903Z","dependency_job_id":"409aac6e-f65a-42c0-8135-367ae6e976bf","html_url":"https://github.com/aditiiprasad/WhatsStat","commit_stats":null,"previous_names":["aditiiprasad/whatsstat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aditiiprasad/WhatsStat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditiiprasad%2FWhatsStat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditiiprasad%2FWhatsStat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditiiprasad%2FWhatsStat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditiiprasad%2FWhatsStat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aditiiprasad","download_url":"https://codeload.github.com/aditiiprasad/WhatsStat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditiiprasad%2FWhatsStat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273226557,"owners_count":25067555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat-analyzer","data-analysis","data-visualization","nlp","streamlit","text-processing","whatsapp"],"created_at":"2025-06-15T02:00:59.900Z","updated_at":"2025-09-02T03:39:35.674Z","avatar_url":"https://github.com/aditiiprasad.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📱 WhatsStat - WhatsApp Chat Analyzer\n\nA fun and insightful WhatsApp chat analyzer that turns your conversations into beautiful stats, juicy graphs, and quirky insights.\n\n![demo](./demo/demo.png)\n\n## 📋 Table of Contents\n\n- [Technologies Used](#-technologies-used)\n- [Features](#-features)\n- [Getting Started](#-getting-started)\n- [Project Structure](#-project-structure)\n- [Running the Application](#️-running-the-application)\n- [How to Use](#-how-to-use)\n- [License](#-license)\n\n\n## 🛠️ Technologies Used\n\n### Core Framework\n- **[Streamlit](https://streamlit.io/)** - Web application framework for Python\n- **[Python 3.7+](https://python.org/)** - Programming language\n\n### Data Processing \u0026 Analysis\n- **[Pandas](https://pandas.pydata.org/)** - Data manipulation and analysis\n- **[NumPy](https://numpy.org/)** - Numerical computing (via Pandas)\n- **[Regular Expressions (re)](https://docs.python.org/3/library/re.html)** - Text pattern matching and parsing\n\n### Visualization Libraries\n- **[Matplotlib](https://matplotlib.org/)** - Static plotting and charts\n- **[Seaborn](https://seaborn.pydata.org/)** - Statistical data visualization\n- **[WordCloud](https://pypi.org/project/wordcloud/)** - Word cloud generation\n\n### Natural Language Processing\n- **[TextBlob](https://textblob.readthedocs.io/)** - Sentiment analysis and text processing\n- **[LangDetect](https://pypi.org/project/langdetect/)** - Language detection\n- **[Emoji](https://pypi.org/project/emoji/)** - Emoji processing and analysis\n\n### Additional Utilities\n- **[URLExtract](https://pypi.org/project/urlextract/)** - URL extraction from text\n- **CSS3 \u0026 HTML5** - Custom styling and layout\n\n## 🌟 Features\n\n### 📊 Core Analytics\n- **Top Statistics**: Total messages, words, and links shared\n\n![demo](./demo/1.png)\n- **User Activity**: Most active users with interactive charts\n\n![demo](./demo/2.png)\n- **Longest Messages**: Find who sends the longest messages\n\n![demo](./demo/3.png)\n- **Conversation Starters**: Identify who initiates chats most often\n\n![demo](./demo/4.png)\n\n\n### 📈 Text Analysis\n- **Word Cloud**: Visual representation of most used words\n![demo](./demo/6.png)\n- **Common Words**: Bar charts of frequently used terms\n![demo](./demo/7.png)\n- **Trending Topics**: Monthly trending words and topics\n![demo](./demo/8.png)\n- **Language Detection**: Automatic detection of languages used\n![demo](./demo/5.png)\n\n### 📅 Timeline Analysis\n- **Monthly Timeline**: Message frequency over months\n![demo](./demo/9.png)\n- **Daily Timeline**: Daily messaging patterns\n![demo](./demo/10.png)\n- **Activity Heatmaps**: Weekly and hourly activity visualization\n![demo](./demo/13.png)\n![demo](./demo/14.png)\n- **Busy Days/Months**: Peak activity periods\n![demo](./demo/11.png)\n![demo](./demo/12.png)\n\n### 😄 Communication Insights\n- **Emoji Analysis**: Most used emojis with distribution charts\n![demo](./demo/15.png)\n- **Sentiment Analysis**: Positive, negative, and neutral message classification\n![demo](./demo/16.png)\n\n\n## 🚀 Getting Started\n\n### Prerequisites\n\nMake sure you have Python 3.7+ installed on your system.\n\n### Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/aditiiprasad/whatsstat.git\n   cd whatsstat\n   ```\n\n2. **Install required packages**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n### Required Dependencies\n\nCreate a `requirements.txt` file with the following packages:\n\n```txt\nstreamlit\npandas\nmatplotlib\nseaborn\nwordcloud\nemoji\ntextblob\nlangdetect\nurlextract\n```\n\n## 📁 Project Structure\n\n```\nwhatsstat/\n│\n├── app.py                 # Main Streamlit application\n├── preprocessor.py        # Data preprocessing functions\n├── style.css              # Custom CSS styling\n├── requirements.txt       # Python dependencies\n│\n└── helper/               # Helper modules directory\n    ├── stats.py          # Statistics functions\n    ├── wordcloud_utils.py # Word cloud utilities\n    ├── emoji_utils.py    # Emoji analysis functions\n    ├── timeline.py       # Timeline analysis\n    ├── activity.py       # Activity mapping functions\n    ├── sentiment.py      # Sentiment analysis\n    ├── langdetect_utils.py # Language detection\n    └── trending.py       # Trending topics analysis\n```\n\n## 🏃‍♂️ Running the Application\n\n1. **Start the Streamlit app**\n   ```bash\n   streamlit run app.py\n   ```\n\n2. **Open your browser**\n   - The app will automatically open at `http://localhost:8501`\n   - If not, navigate to the URL shown in your terminal\n\n## 📋 How to Use\n\n### Step 1: Export WhatsApp Chat\n1. Open WhatsApp on your phone\n2. Go to the chat you want to analyze\n3. Tap on the chat name → More → Export Chat\n4. Choose **\"Without Media\"** (important!)\n5. A `.zip` file will be created\n\n### Step 2: Prepare the File\n1. Unzip the downloaded file\n2. You'll find a `.txt` file inside\n\n### Step 3: Upload and Analyze\n1. Open the WhatsStat application\n2. Upload the `.txt` file using the file uploader\n3. Select the user you want to analyze (or \"Overall\" for all users)\n4. Click \"✨ Show Analysis\" to generate insights\n\n\n\n\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n\n\n- **Developer**: Aditi \n- **GitHub**: [github.com/aditiiprasad](https://github.com/aditiiprasad)\n- **LinkedIn**: [linkedin.com/in/aditiiprasad](https://www.linkedin.com/in/aditiiprasad/)\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faditiiprasad%2Fwhatsstat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faditiiprasad%2Fwhatsstat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faditiiprasad%2Fwhatsstat/lists"}