Back to all projects

WhatsApp Chat Analyzer

Turn exported WhatsApp chats into visual insights

A data analysis tool that takes an exported WhatsApp chat file and surfaces message stats, top participants, and activity trends through interactive charts.

Live DemoRepository

This project turns a raw, unreadable WhatsApp chat export into a clear picture of who talks the most, when, and about what — all through an easy drag-and-drop interface.

  • Exported WhatsApp chat files are just plain text and give no real insight on their own.
  • Manually counting messages, media, or identifying the most active person in a group chat isn't practical.

A Streamlit app accepts a chat export file, parses it with Pandas, and generates statistics and Matplotlib visualizations on the fly.

Data Flow

User exports a WhatsApp chat as a .txt file

File is uploaded into the Streamlit app

Text is parsed into structured message records

Pandas computes stats like message and word counts

Matplotlib generates timeline and activity charts

Dashboard displays stats and charts to the user

Key Architectural Decisions

  • ✓Built a parser to clean and structure the raw WhatsApp export into a Pandas DataFrame.
  • ✓Calculated key stats like total messages, word counts, media shared, and links sent.
  • ✓Identified the most active participants in group chats.
  • ✓Used Matplotlib to visualize activity trends over time in an interactive Streamlit dashboard.
PythonStreamlitPandasMatplotlibDocker
  • Parsing loosely-structured text data (like chat exports) requires handling many small formatting edge cases.
  • Streamlit made it fast to go from a data analysis script to an interactive, shareable dashboard.
  • Good data visualization turns raw numbers into insights people actually want to look at.