Remarkable workflow part 1 + life update!

So it’s been way too long since I’ve posted…so here’s a life-ish update for me!

This is my first semester in Georgia Tech’s online masters in CS, and as part of juggling a full-time job and two master’s classes, I’ve thought a lot about workflow. Basically, the question is this: how do I study literally any moment I am not at work or doing something else?

I bought a reMarkable tablet late last year, and I’m absolutely in love…but wanted a way to programmatically upload the pdfs I’m reading for class. This is part 1 of (hopefully) a multi-part series.

What didn’t work

My first approach was to use rclone, thinking I’d be able to ssh in and “just” sync my files to cloud storage. Because I can’t “just” sync a directory of pdfs from my computer onto the tablet and have it render properly, I needed to do some more digging.

A digression: how does reMarkable store resources?

To find this out, I set up ssh access to my reMarkable (tutorial here) and started poking around the files. I’m *only* going to talk about folders and pdfs in this post, since that’s what I care about.

Everything’s stored in this directory:


Essentially, each pdf is associated with a UUID and 3 files: a pdf, a JSON metadata file, and a thumbnail image.

On the reMarkable wiki, I found GitHub user adaerr’s pdf2reMarkable script, which also serves as great documentation for the metadata that reMarkable expects for each file.

I’ll talk more about how the reMarkable stores resources in the next post, as well as what I was trying to accomplish with my scripts. (Spoiler alert: I learn about bash associative arrays in the process).


Leave a Reply

Your email address will not be published. Required fields are marked *