We wanted to be able to see what sorts of trends were present in our chat messaging history. We knew we could export the data, but this raw data is not easy to understand. So, we created Telegram Tracker (, to process this data into interactive graphs.

What it does

Telegram has an option to export chat history for every chat. The user exports the chat history as a JSON and uploads it to our site, which then displays a variety of stats for the chat, including activity and message trends.

How we built it

We used Flask to create a python webserver, which we deployed using pythonanywhere. We used this webserver to accept data files from the user and process them with a python script. This python script generates .csv files which can be read by code implemented with the Plotly library to create interactive graphs showing the data.

Challenges we ran into

A lot of our code ran too slowly to work for a live website; some graphs took a full minute to generate. We worked hard to optimize these calculations until they ran in under a second, in order to improve the user experience.

Accomplishments that we're proud of

We’re very proud of how the website looks, the overall interactivity of the graphs, and the fast runtime of the calculations for very large data files. It can process over 250,000 messages in under 3 seconds.

What we learned

We learned how to create a full flask website which could take data files from the user and process them into a beautiful and interesting dashboard of statistics from the data.

What's next for Telegram Tracker

We can add more statistics and add processing for data from other types of messaging platforms.

Built With

Share this project: