- Privacy-centric Analysis: Securely review summaries of WhatsApp conversations, whether with individuals or group chats.
- Local Processing: Data never leaves the executing system. Analysis is carried out entirely locally, ensuring utmost privacy.
- Transparent Code Execution: Jupyter notebooks are utilized to provide full transparency. Users can inspect every line of code that processes chat data. After insights are generated, all chat data is immediately purged from memory.
- In-depth Metrics: Delve into chat data. Load conversations and uncover insights such as response times, text density, emoji usage, and more.
- Recreate conda environment using the following
git clone https://github.com/cricksmaidiene/whatsapp_chat_analysis.git
cd whatsapp_chat_analysis
conda create --name whatsapp_chat_analysis --file env.txt
conda activate whatsapp_chat_analysis
Then run either:
jupyter lab
or
jupyter notebook
Either of the following are the jupyter requirements & versions:
jupyterlab==2.2.6
requiresjupyter labextension install [email protected]
, in turn requiresnodejs >= 10.0
. Install nodejs withconda install nodejs -c conda-forge --repodata-fn=repodata.json
jupyter notebook==6.2.0
- To export a WhatsApp chat as a
txt
file in either iOS or Android, go to a particular chat with a person or group and check the options. There is an option to export chat. SelectWithout Media
and save the resulting text file in the same directory as the notebook. - Modify the second cell of the notebook with the chat
txt
filename / filepath. This highlights to the notebook on which chat file is to be analyzed. - Run all cells
- Text file is loaded, cleaned up and parsed. The messages are turned into a table (or dataframe) at a per-message level.
- Once the dataframe is created, it is aggregated and re-aggregated for different analyses and visualized using plotly express.