openjutsu
One-click character swap for videos: an open-source, local Higgsfield Genjutsu alternative built on ComfyUI and MiniMax H3, with FLUX.3 Klein relighting.
Ask for a book, not an answer.
Translation pending
MediaGitHub @aliaksei-kavaliouOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
AI-compiled study books for e-ink readers. Ask for a book, not an answer.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗AI-generated study books for e-ink readers.
Chat is a bad container for learning. Answers scroll away, there is no pacing, no structure, and no way to move back and forth through an argument. Zhuzha inverts that: the AI compiles a book, and the chat lives around the book instead of being the product.
You say what you want to learn and how many minutes a day you have. The app generates an outline, then chapters one at a time, in a teaching style you pick. You read paginated pages on e-ink, mark passages with a stylus, ask about them, and the book notices how you read — and carries that forward into the next chapter.
Personal project, built for one reader on one device. It is in daily use, not for sale, and has no accounts, no server, and no telemetry.
The design rules come from the display, not from taste:
The e-ink constraint is treated as the point rather than a limitation. The book-page metaphor is the whole idea.
Four decisions carry most of the design:
No backend, ever. A single Android app calling the Gemini API directly with your own key. Nothing to run, nothing to pay for, nothing to shut down.
Bring your own key. Your API key is entered in Settings and stored in the Android Keystore. It is never written to a file, never synced, and never leaves the device except to Google.
Local-first, plain files. Courses are inspectable files on disk, not a database:
<course-slug>/
course.json outline, progress, annotations, bookmarks
memory.md running course memory used to write later chapters
reader.md how the chapters were actually read
chapters/<slug>.md generated chapter text
notes/<slug>.qa.md questions and answers, as readable Markdown
ink/<slug>.ink.json stylus strokes
figures/, badges/ generated pictures
The reason is durability. Your study material should be greppable, backupable, and readable in ten years even if this app stops existing.
Generation logic is a separate module. :core holds prompts, generation, parsing
and storage, and touches no Android APIs — so it is testable on the JVM, and the door
stays open even though no backend is planned.
Stack: Kotlin and Jetpack Compose, min SDK 26.
Requires JDK 17 and the Android SDK.
./gradlew assembleDebug # build
./gradlew test # unit tests (:core and :app)
adb install -r app/build/outputs/apk/debug/app-debug.apk
Then open Settings and paste a Gemini API key. Nothing works without one, and generation costs whatever Google charges for the models in use — a Flash-tier text model and a lite image model by default, both configurable in Settings.
Developed for the Onyx Boox Go 7, a 7" Android e-ink device with a stylus. Onyx's pen SDK is what makes ink land without lag, by drawing straight to the display controller beneath the normal rendering path.
It is an ordinary Android app, so it installs and runs elsewhere — but the low-latency pen path is Onyx-specific, and the typography is tuned for 300 DPI paper-white rather than a phone screen.
docs/design.md — data model, file formats, generation strategy.docs/onyx-pen-thread.md — a working log of the stylus
integration. Sparsely documented SDK, several counter-intuitive behaviours, and a
record of what was measured rather than assumed. Read it before touching anything
about repainting, ghosting, or touch handling.Zhuzha is the author's dog. She is black with a white chest, which happens to be the entire palette an e-ink screen has. The name means nothing else, on purpose: every word that meant something was already an app.
The default teaching style is inspired by the Head First pedagogy. This project is not affiliated with or endorsed by O'Reilly Media, and uses none of their branding or trade dress.
Copyright 2026 Aliaksei Kavaliou
Licensed under the GNU General Public License v3.0. See LICENSE.
Use it, change it, ship it — but a derivative has to stay under the same licence and ship its source. The name Zhuzha and her likeness are not covered by the licence and remain mine. See CONTRIBUTING.md before opening a pull request.