Firstly, say hi to this lil guy (he’s the snaparser mascot):

Snaparser Logo

Ok so snaparser is basically a program, or rather a set of programs that you can use to present the very ugly and unreadable snapchat chat history file in a human friendly txt format. The design is very human.

At the lowest level, you have the snaparser program (written in Go), that holds the parser library that parses the chat history, and a cli to easily interact with it. Parsing the chat history is actually very easy. Here is the Go structure used to store the chat history data:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// Content contains the fields in the chat history json file
type Content struct {
    From               string
    MediaType          string `json:"Media Type"`
    Created            string
    Content            string `json:",omitempty"`
    ConversationTitle  string `json:"Conversation Title"`
    IsSender           bool   `json:"isSender"`
    CreatedMicrosecond int64  `json:"Created(microseconds)"`
}

Going up by one level, you have the snaparser backend server. It basically runs a server where you can upload the chat history file and then get the parsed text.

At the final level, there’s the snaparser web ui. It’s a sveltekit app that interacts with the snaparser backend server. With it, you can parse your chat hstory file in one click 😎. Also, you can deploy all the parts of this program using docker.

Snaparser web app screenshot

Ok that’s it. Now you can go sit down, read your old chats, and reminisce about the past ✅.

guy sitting on the chair