Fable Turned Reality: New 'Riddle' Software Transforms reMarkable Paper Pro Into Harry Potter's Enchanted Tom Riddle Diary
A new open-source project titled 'Riddle' has successfully recreated the magical experience of Tom Riddle's diary from the Harry Potter series on the reMarkable Paper Pro. By utilizing the tablet's advanced e-ink technology and OpenAI-compatible large language models (LLMs), the software allows users to write with a pen and receive handwritten responses that appear to 'sink' into and emerge from the digital paper. The project eliminates traditional UI elements like keyboards and chat boxes, focusing on a pure ink-on-paper interaction. However, the installation process requires the device to be in developer mode and involves running the software as a root process, which modifies the standard vendor interface. This development highlights a unique intersection of skeuomorphic design and modern AI integration within the e-ink ecosystem.
Key Takeaways
- Immersive Experience: 'Riddle' mimics the enchanted diary from Harry Potter, where handwritten text fades away and the AI responds in a flowing, handwritten script.
- Hardware Specificity: The software is designed and tested specifically for the reMarkable Paper Pro (ferrari, aarch64) running OS versions 3.26–3.27.
- Technical Integration: It utilizes raw pen events, 4096-level pressure sensitivity, and OpenAI-compatible API keys to facilitate real-time AI dialogue.
- Developer-Centric: Installation requires developer mode, a custom launcher (remagic), and the xovi/AppLoad environment, operating with root-level permissions.
In-Depth Analysis
The Mechanics of Digital Magic
The 'Riddle' project represents a significant departure from standard AI interfaces. Instead of a traditional chat UI, it leverages the unique properties of the reMarkable Paper Pro's e-ink display to create a seamless, distraction-free environment. The workflow begins with the user writing on the page using the device's pen. The system captures raw evdev events, maintaining the full 4096-level pressure sensitivity and hardware event rate to ensure the digital ink feels authentic.
Once the user pauses for approximately 2.8 seconds, the system triggers a 'commit page' action. The handwritten input is converted into a PNG format and sent to a resident LLM process referred to as the 'oracle.' This oracle, which can be powered by any OpenAI-compatible key or the 'pi' service, processes the input and streams a reply sentence-by-sentence. The magic occurs during the display phase: the AI's response is converted into single-pixel pen paths using the 'Dancing Script' font, which are then rendered stroke-by-stroke onto the e-ink screen, mimicking the appearance of a ghost-writer.
System Architecture and Takeover Mode
Technically, 'Riddle' is a sophisticated piece of software that operates at a low level within the reMarkable's Linux-based operating system. It functions in what is described as 'takeover mode,' which involves stopping the standard vendor user interface (xochitl) to drive the e-ink engine directly. This is managed through two primary display backends: 'qtfb,' which allows the app to run windowed inside the standard UI via AppLoad, or 'quill,' which facilitates a full-screen takeover.
The installation process is streamlined for developers but remains complex for casual users. It requires the 'remagic' tool to enable developer mode and set up the necessary environment with a single command. Users must then deploy the 'riddle' bundle into the xovi/AppLoad directory. Because the application runs as root and modifies core device behavior, the developers emphasize the importance of maintaining SSH access as an 'escape hatch' to prevent bricking the device or losing control over the system.
Hardware and Software Compatibility
Currently, the project is highly specialized. It has been verified only on the reMarkable Paper Pro (internal codename 'ferrari'). The developers warn that it may not function on other models or different versions of the reMarkable OS. The reliance on specific aarch64 architecture and OS versions 3.26–3.27 suggests that the software interacts with hardware-specific drivers for the e-ink display and pen input that may not be present or compatible with older reMarkable hardware like the reMarkable 2.
Industry Impact
The release of 'Riddle' signifies a growing trend in the AI industry toward 'invisible' interfaces. By removing the 'screen glow' and 'keyboard' elements, the project demonstrates how AI can be integrated into analog-style workflows without breaking the user's immersion. For the e-ink industry, this project showcases the potential for high-performance, low-latency interactions that go beyond simple note-taking or e-reading. It also highlights the vibrant developer community surrounding open-source hardware platforms, where users are willing to bypass manufacturer restrictions to implement highly creative, niche functionalities that major corporations might overlook.
Frequently Asked Questions
Question: What hardware do I need to run the Riddle software?
To use Riddle, you specifically need a reMarkable Paper Pro. The project has been tested on the 'ferrari' hardware (aarch64) running OS versions 3.26 to 3.27. It is not guaranteed to work on other models like the reMarkable 2.
Question: Does this software require an internet connection or an API key?
Yes, the system requires an API key to function. It is designed to work with any OpenAI-compatible key (RIDDLE_OPENAI_KEY). Alternatively, users can skip the API key configuration to use the 'pi' service, though an active connection to an LLM provider is necessary for the 'oracle' to generate responses.
Question: Is it safe to install Riddle on my reMarkable tablet?
Installing Riddle involves risks. It requires turning on developer mode, runs as a root process, and takes over the vendor UI. The developers state that you use it entirely at your own risk and are not affiliated with reMarkable AS. It is critical to ensure SSH access is working before installation so you have a way to recover the device if something goes wrong.

