A CrossPoint Reader fork for the Xteink X4 with offline flashcards, SM-2++ spaced repetition, device↔web sync, and vocabulary-import tools.
For the original reader features, build instructions, and flashing guide, see the upstream project.
- Three on-device decks: German, Ukrainian, and English.
- Quizlet-compatible text files at
/flashcards/<deck>/*.txt, usingterm<TAB>translation. - Twenty-card study batches with Hard, Good, and Easy ratings; progress survives file moves and renames.
- Automatic wake-time sync for deck files, deletions, and learning progress.
- An offline-first companion PWA in
web/for studying and managing decks from a phone. - A Codex/agent skill in
skill/crosspoint-quizlet-sync/for creating, translating, routing, and syncing cards. - Optional Telegram collection and Kindle Vocabulary Builder import, including a wireless workflow for jailbroken Kindles.
-
Build and flash the firmware as described upstream, or use a prebuilt
*-firmware.binfrom this repository. -
Add a deck file such as
/flashcards/german/verbs.txt:anerkennen to acknowledge der Zweifel the doubt -
Open Flashcards on the device and choose a deck.
For web sync, deploy web/ and place /.crosspoint/flashcards_sync.json on the SD card:
{"url": "https://your-web-app.example", "token": "<API_TOKEN>", "enabled": true}The repository exposes crosspoint-quizlet-sync through .agents/skills/, backed by the complete package in skill/. To install it for every Codex task, symlink the package into your personal skills directory:
mkdir -p ~/.codex/skills
ln -s "$PWD/skill/crosspoint-quizlet-sync" ~/.codex/skills/crosspoint-quizlet-syncThe skill can create dated decks from pasted vocabulary, normalize German nouns, auto-translate, import Kindle lookups, upload to the web app or device, and merge study progress.
src/: Xteink X4 firmware changesweb/: offline-first PWA, server, and LAN sync agentskill/crosspoint-quizlet-sync/: agent skill and import scriptsdocs/: architecture notes
MIT, matching upstream. See LICENSE.