GroupMe is a popular chat application for mobile and desktop. Outside of traditional messages, it has many features that make messaging feel more interactive. This includes the ability to “like” messages, send pictures and videos, and “mention” people in groups of 2 or more. All of this combined with an easy to use UI led to rapid adoption amongst many as a primary mode to stay in touch with family, friends, and co-workers alike.
As great of a messaging tool that GroupMe may be, the data driven person that I am still found one feature to be overall missing from the platform. Though one could manually scroll back within a chat in search of information, there was no way to obtain chat history, or perform any type of analytics on the messages that were previously sent. I saw the potential for such an enhancement and immediately got to work.
Fortunately, GroupMe exposes a very robust API that makes both groups and individual chats readily available to an authenticated user. Leveraging this made it very easy to obtain all of the data points necessary to conduct a full analysis of all messages sent. Using Python as the language of choice, I then cleaned and parsed the data to return the most important metrics back to the user
The final product was a fully functioning command line driven tool that would be run locally on a user’s computer. The tool would ask for information necessary to authenticate into GroupMe, followed by which chat you would like to analyze. Once selected, a user would be able to:
All of this was presented in easy to read charts and files that would be downloaded to a user’s local workstation.