Slowchat is an experiment in making messaging more tangible, slower, and more offline while at the same time an experimenting with what you can accomplish with a simple QR code. The basic idea behind Slow Chat, is you write a message to your friend in and interface you would expect in any basic chat program online, but when you click send, the program generates a printable page of your message you will need to send to the other person through the postal system (or you could hand deliver it to them, or have a pigeon deliver it, or ... . .. ) When the Other person gets your message, they then scan the page in, and the chat interface updates with the message (as you would expect from any other chat program.)
You could just send messages back and forth this way, but why not expand on the message; you are already sending the person a letter in the mail, why not add other things to the envelope, or decorate the envelope. (wouldn't it be fun if you could decorate incoming and outgoing TCP packets... ... future experiement noted...) What if you wanted to include an animated GIF in your message? You could use something like this http://gifprint.com/, to convert your gif to a flipbook, and then include the flipbook in the letter to the other person.
On a more technical level, I'm using the qr-scanner library to scan in qr codes, the qrcode library to create the qrcodes, lockr to save data localy to disk, and bootstrap and jquery to make things look prety.
As a side note, the webcam support for the qr code scanning only works with sites that are running HTTPS (grumbles), but I installed lets encrypt's certbot, and it was really just a next, next, installed. It did all the configuration of nginx for me and setup all the background work to run certbot. I wish all security related products were actually this easy to use.