What it does

It takes in CSV files that are created by our Ruby scripts and search and displays the content of chats.

How I built it

Wrote scipts to process data to csv Wrote logic to parse csv Wrote view logic

Challenges I ran into


Accomplishments that I'm proud of


What I learned

CSV Parsing. Don't use Dictionary of Dictionary of Strings.

What's next for Backup Chat Viewer

A short life on GitHub.

Built With

Share this project:


posted an update

The viewer was written in C# and existed to make managing the extracted data easier. Objects were linked between the three tables, allowing sender information to be displayed along side the message. Searching was also implemented, allowing users to search past conversation. Photos were displayed as links to the google plus albums they existed in.

Log in or sign up for Devpost to join the conversation.

posted an update

Project was split into two halves: a set of data extractors and a way of browsing the extracted data. The data extractors were written in Ruby in order to parse the JSON object returned by Google Takeouts (Hangouts.json). JavaScript engines refused to parse it as the size increased (one of our developers had a ~400MB Hangouts.json object which resulted in a 5GB object in memory). A similar Facebook extractor was written, except their output format was a HTML document with many sibling elements, and parsing that was easier and required less memory. Both extractors wrote out to the same format of three CSVs: One for conversations, mapping conversation IDs to participant user IDs, one for user ID to name mapping, and one containing all the messages with message IDs, conversation IDs, and sender IDs.

Log in or sign up for Devpost to join the conversation.