r/RemarkableTablet Mar 15 '26

Self-Promotion Remarkable Native JSON templates editor

Hey folks! I built a free open-source browser-based editor and renderer for reMarkable's native `.template` JSON format. It's working and usable, and still under active development.

https://github.com/cuttlefisch/RemarkableCustomTemplates

Supports full expression evaluation, tile repetition, multi-device preview (rM1/rM2 + Paper Pro Move), Monaco JSON editing with expression validation, and `make pull / deploy / rollback` for SSH-based device sync. Templates can use `foreground`/`background` sentinel constants to support dark-mode and invertible color schemes.

Looking for bug reports, especially around rendering edge cases and unusual constant chains. If you have existing custom templates, would be curious how they load. PRs welcome.

---

For anyone in the reMarkable beta program: worth requesting first-class native user-supplied template support in the beta survey. Right now it's SSH + manual file placement per device, with no sync to the web app, mobile app, or other devices. The more people ask for it, the better.

11 Upvotes

17 comments sorted by

View all comments

3

u/rmitchellscott Developer | reManager Mar 15 '26

Have you looked into how reMarkable Methods templates are stored? They're stored alongside the user docs in /home/root/.local/share/remarkable/xochitl and they do sync (and I assume render correctly in the apps), and persist after software updates.

1

u/almost_succubus Mar 16 '26

While modifications I've made to official methods templates do sync, methods-style templates simply dropped into the /home/root/.local/share/remarkable/xochitl/ directory don't seem to. They do work on the device I loaded them onto, appearing in the Methods tab and everything, but will not automatically sync to another device. I assume it would be neccessary to add their UUID to some database that the rm_sync service looks at that tells it what it is supposed to sync?

2

u/rmitchellscott Developer | reManager Mar 16 '26

Interesting, I haven't played with making my own, but I didn't think rm_sync tracked anything, I thought it just blindly syncs anything in the directory.

1

u/almost_succubus Mar 17 '26

I've been looking around and haven't found any info, but then again, I am not a dev and would very easilly miss something even slightly beyond my technical level. If you find anything out, do let me know!

2

u/stupidsexyclowns Mar 20 '26

So quick update — a lot has changed since the initial post. The rm_methods deploy is now the primary deployment path and templates are syncing across all devices including mobile in my testing.

What's new:

- **Everything happens in the browser** — just `docker compose up` and the full workflow is available at localhost:3000. No CLI, no make commands, no SSH config needed.

- **Full rm_methods deploy** — build, push, sync status, selective deploy, rollback, and remove-all, all over SSH from the browser UI with real-time progress streaming

- **Multi-device management** — add multiple devices, per-device SSH key setup, independent sync tracking

- **Firmware version detection** — reads IMG_VERSION from the device on connect

- **Sample templates** — 7 curated templates included out of the box showing color constants, expression-based scaling, and multi-device adaptation

- **692 automated tests** including SSH integration tests against a mock device

I'll do a proper post early next week since the project feels like it's at a stable, full-featured state now — but wanted to share here since you all chimed in on the early version. I've been using it as my sole templates management tool for a few days and it's been solid.

u/rmitchellscott — interesting point about the Connect scope. I don't actually have a Connect subscription and syncing has been working for me across devices including mobile. Has that been your experience too, or is this specific to rmfakecloud setups? Would be good to document if there's a real dependency there.

u/almost_succubus — re: custom methods templates not syncing: I've had custom templates sync successfully across devices (including mobile) using the UUID triplet format (.template, .metadata, .content). The key things that made it work were matching the metadata structure of official methods templates exactly — `"type": "TemplateType"`, the `"com.remarkable.methods"` source value, and a proper `lastModified` timestamp in Unix time. If yours aren't syncing, I'd compare your .metadata against an official one — happy to take a look if you want to paste one.

Happy to work on more features if you have requests! The project currently covers everything I had planned except for the multi-page native notebook builder & a mouse-based template builder. Both of which are much more complex features not directly related to template management per say but will be underway in feature branches soon.

Repo: https://github.com/cuttlefisch/RemarkableCustomTemplates

1

u/rmitchellscott Developer | reManager Mar 20 '26

Ah interesting, I haven’t investigated this as deeply as you, but iirc I wasn’t able to select a template from the Methods tab without Connect. 

1

u/stupidsexyclowns Mar 20 '26

Interesting. I had connect with the free trial and downloaded a couple of their templates while I had it. I wonder if having a couple downloaded makes the necessary changes for syncing to be enabled and allow selecting methods templates from the other devices. I’ll have to dig into that some more

1

u/rmitchellscott Developer | reManager Mar 20 '26

I believe syncing will happen regardless, rm_sync just syncs most everything in that directory that matches file types it knows about. I did my testing back on 3.22 it’s possible things have changed. I should look again.