Mes­sages Book

As an an­niversary present to my part­ner, I cre­ated phys­ic­al book from the mes­sages that we sent to each oth­er over vari­ous di­git­al mes­sen­ging ser­vices, like Face­book, Skype, and What­s­App.

The cover of the message book.
The cov­er of the book.

Ini­tially, the plan was to make a single book that con­tained all of our mes­sages; however, we had spoken way too much for it to fit in one - it would have been 10 in­stead. After hav­ing the book prin­ted, I found that I prob­ably could have re­duced this by some amount.

Some pages within the message book.
Some of the pages with­in the book.

The code

You can find the code in its re­pos­it­ory on Git­Hub, mes­sage-book.

To cre­ate the book, I had to first com­pile all of the mes­sages across the dif­fer­ent formats into a single sor­ted data struc­ture - a sor­ted list. The in­put formats ranged from HTML for Face­book Mes­sen­ger to SQL­ite for Skype. Ad­di­tion­al prob­lems cropped up, like the Skype mes­sages ap­peared mul­tiple times (since I had mul­tiple data­bases) and so I had to find a way to re­move the du­plic­ates - thank­fully there was a unique ID for the mes­sages hanging about!

Next, I had to con­vert this sor­ted list of mes­sages into a PDF format so that it could be prin­ted. For this I used itex­t­p­df. This in­cluded some ren­der­ing[is this book too long?] is­sues[get­ting rid of ex­tra pages] that I had to hack around.