---
title: "리마커블 태블릿을 해리포터 ‘톰 리들 일기장’처럼 만든 오픈소스 프로젝트"
published: 2026-07-06T23:00:24.000Z
canonical: https://jeff.news/article/4735
---
# 리마커블 태블릿을 해리포터 ‘톰 리들 일기장’처럼 만든 오픈소스 프로젝트

리마커블 페이퍼 프로에서 손글씨를 쓰면 잉크가 사라지고, 비전 대규모 언어 모델(LLM)이 답변을 손글씨처럼 다시 써주는 프로젝트가 공개됐어. 러스트 앱, 전자잉크 디스플레이 제어, 필기 인식용 이미지 전송, 스트리밍 응답까지 꽤 진지하게 엮은 하드웨어 해킹 사례야.

- 리마커블 페이퍼 프로를 해리포터의 ‘톰 리들 일기장’처럼 만드는 오픈소스 프로젝트가 나옴
  - 사용자가 펜으로 글을 쓰고 잠깐 기다리면, 쓴 글씨가 종이에 스며들듯 사라짐
  - 그다음 답변이 화면 위에 손글씨처럼 한 획씩 다시 써짐
  - 화면 빛, 키보드, 채팅창 없이 그냥 종이에 잉크가 나타나는 느낌을 목표로 함

- 설치 조건은 꽤 해커 친화적임
  - 리마커블 페이퍼 프로가 필요하고, 개발자 모드와 런처가 켜져 있어야 함
  - 이미 xovi와 AppLoad를 쓰고 있다면 remagic 카탈로그, 사전 빌드 번들, 소스 빌드 중 하나로 설치 가능
  - 직접 설치할 땐 릴리스의 riddle 압축 파일을 풀고, 태블릿의 `/home/root/xovi/exthome/appload/` 아래로 복사하는 방식

> [!WARNING]
> 이건 일반 앱 설치가 아니라 기기 내부를 건드리는 프로젝트임. 루트로 실행되고, takeover 모드에서는 벤더 UI를 멈춘 뒤 전자잉크 엔진을 직접 제어함.

- 모델 백엔드는 크게 두 갈래임
  - API 키를 넣으면 오픈에이아이 호환 `/chat/completions` 엔드포인트로 바로 요청을 보냄
  - 오픈에이아이, 오픈라우터, 그록, 로컬 서버처럼 같은 형식을 지원하는 곳이면 붙일 수 있음
  - API 키를 넣지 않으면 이미 실행 중인 `pi --mode rpc` 프로세스를 써서 구독 인증을 재사용함

- 답변 생성 방식이 재밌음. 사용자의 필기를 텍스트로 먼저 변환하는 구조가 아니라, 페이지 이미지를 비전 대규모 언어 모델(LLM)에 보냄
  - 커밋된 페이지를 인라인 PNG로 보내고, 비전 모델이 손글씨를 읽음
  - 답변은 문장 단위로 스트리밍돼서, 모델이 전부 끝내기 전부터 화면에 글씨가 써지기 시작함
  - 온디바이스 기준 첫 잉크까지 약 0.9~1.1초가 측정됐다고 함

- 손글씨로 답변을 보여주는 쪽도 그냥 폰트 출력이 아님
  - `riddle/`은 러스트 앱이고, 펜 입력, 잉크 표면, 필기 합성, 오라클 프로세스 관리, 디스플레이 백엔드를 담당함
  - 글자를 래스터화한 뒤 Zhang-Suen thinning으로 얇게 만들고, 획을 추적해서 애니메이션으로 재생함
  - 답변 글꼴은 Dancing Script를 사용함

- 디스플레이 제어는 `quill/`이라는 C/C++ 호스트가 맡음
  - 벤더의 `libqsgepaper.so` 전자잉크 파형 엔진 위에 QImage 생성자 인터포지션 shim을 얹은 구조
  - `quill_init`, `quill_buffer`, `quill_swap` 같은 작은 C ABI를 제공하고, 러스트 쪽에서 takeover 기능으로 링크함
  - 데모로 낙서, 펜 지연 테스트, 지도, 이미지, GIF 렌더러도 포함돼 있음

- 기기 제어 제스처도 꽤 일기장 콘셉트에 맞춰져 있음
  - 글을 쓰고 펜을 쉬면 일기장이 잉크를 마시고 답변함
  - 마커를 뒤집으면 지우개처럼 쓰고, 큰 물음표를 그리면 내장 가이드를 호출함
  - 다섯 손가락을 동시에 탭하면 일기장을 나갈 수 있음
  - 전원 버튼을 누르면 “The diary sleeps.” 페이지가 뜨고 태블릿이 대기 상태로 들어감

- 다만 호환성은 좁음
  - 테스트된 환경은 리마커블 페이퍼 프로, 코드명 ferrari, aarch64, 운영체제 3.26~3.27
  - 다른 모델이나 운영체제 버전에서는 동작을 보장하지 않음
  - 문제가 생기면 SSH로 접속해 `systemctl start xochitl`로 벤더 UI를 다시 띄우는 게 탈출구임

---

## 기술 맥락

- 이 프로젝트의 핵심 선택은 채팅창을 만들지 않고, 종이에 쓰는 행위 자체를 입력 인터페이스로 삼은 거예요. 그래서 키보드 이벤트나 텍스트 박스 대신 펜 입력과 페이지 이미지를 중심으로 전체 흐름이 짜여 있어요.

- 비전 대규모 언어 모델(LLM)을 쓰는 이유는 손글씨 인식 파이프라인을 따로 만들지 않아도 되기 때문이에요. 사용자가 쓴 페이지를 이미지로 보내면 모델이 글씨와 문맥을 같이 읽을 수 있어서, 작은 하드웨어 프로젝트 입장에선 구현 부담이 확 줄어요.

- 전자잉크 화면을 직접 다루는 건 위험하지만, 이 연출에선 거의 필수예요. 답변이 한 번에 렌더링되면 그냥 메모 앱처럼 보이는데, 전자잉크 엔진을 낮은 레벨에서 제어하면 답변이 실제로 써지는 듯한 지연과 획을 만들 수 있거든요.

- 오픈에이아이 호환 API를 붙인 것도 실용적인 선택이에요. 특정 모델 회사에 묶이지 않고 오픈라우터, 그록, 로컬 서버를 바꿔 끼울 수 있으니, 실험자는 비용과 속도, 개인정보 조건에 맞춰 백엔드를 고를 수 있어요.

## 핵심 포인트

- 리마커블 페이퍼 프로 개발자 모드에서 동작하는 오픈소스 일기장 앱
- 사용자 필기를 인라인 이미지로 비전 모델에 보내고 답변을 손글씨 애니메이션으로 재생
- 러스트 앱과 C/C++ 디스플레이 호스트가 전자잉크 엔진을 직접 제어
- 기기 루트 권한, 벤더 UI 중단, 특정 운영체제 버전 의존 같은 리스크가 있음

## 인사이트

그냥 장난감 데모처럼 보이지만, 전자잉크 기기에서 ‘채팅 UI 없이 대화형 AI’를 구현한 꽤 흥미로운 실험이야. 모바일이나 웹 챗봇보다 훨씬 물리적인 인터랙션이라, AI 인터페이스가 꼭 말풍선이어야 하냐는 질문을 던져줌.
