01The Idea
Riddle, by Maxime Rivest, turns a reMarkable Paper Pro into Tom Riddle's diary: you handwrite on the page, the ink fades away, and an answer appears in elegant script — then vanishes too. I wanted the same thing on the tablet I actually carry, a Supernote. Inkling is that port.
what an exchange looks like on the page — your ink fades, the answer writes itself in
02Two Very Different Tablets
The reMarkable runs Linux with root SSH access, so Riddle is a Rust binary reading pen input from raw
evdev and drawing through the vendor's e-ink engine. Supernote devices run Android and support
sideloading — no root, no raw input devices, but a full app runtime. So Inkling is a small Kotlin app:
a custom view captures stylus strokes, renders them to an image when the pen rests, and a vision model
reads the handwriting directly off the page. No handwriting-recognition engine anywhere — the same trick
Riddle uses, translated to a different stack.
03Gestures
| Write, then rest the pen | the diary reads your ink and answers |
| Pen's eraser end | unwrite strokes |
| Draw only a “?” | the diary explains itself |
| Two-finger hold | settings — API key, model, persona |
04How It Works
Three small pieces. InkView captures stylus strokes and runs a rest-timer; when the pen has been still for ~2.5 seconds it crops the writing to a PNG. Oracle sends that image to Claude through the official Anthropic Java SDK — one structured-output call returns both a transcription and the diary's reply, and the transcriptions become lightweight session memory so the diary remembers the conversation without resending images. ReplyView inks the reply back word by word in Dancing Script, holds it long enough to read, and fades it out in stepped gray levels — discrete steps read far better on e-ink than smooth animation.
pen rests → ink fades → PNG → Claude reads the handwriting
→ { transcription, reply } → reply written back in script → fades
05Build & Install
Kotlin + Gradle, no Android Studio required. Build the APK, sideload it onto a Supernote
(Nomad and Manta support official sideloading; the original A5X/A6X need ADB), then two-finger hold
to add your Anthropic API key. The key lives only on the device. The app targets minSdk 27
and is verified to compile against the Android 8.1 framework the original models run.
gradle wrapper && ./gradlew assembleRelease adb install app/build/outputs/apk/release/app-release.apk
Full instructions in the README.
06Credits
Concept and soul: Riddle by Maxime Rivest. Reply typeface: Dancing Script (SIL Open Font License). Built with Claude Code.