Project file N°07
Fuki — On-screen Manga & Webtoon Translator (Android)
A native Android app that reads the text inside another app's screen — Korean, Japanese, Chinese or English comics — and lays a live translation over each speech bubble. No button to press: it waits for scrolling to stop, re-reads the page and translates only what changed.
Stack
- Kotlin
- Android
- MediaProjection
- ML Kit OCR
- Gemini Nano
- Claude API
- Gemini API
- DeepL
- GitHub Releases
Live
github.com/Thusuaso/fuki →The problem
Reading untranslated webtoons means switching between the reader app and a translator for every panel. Existing tools either need a button press per screen, translate the whole page as one block of text, or re-translate their own overlays and loop forever.
What we built
- 01Screen capture with MediaProjection and on-device ML Kit OCR, with lines grouped back into speech bubbles before translation
- 02Change detection that waits for scrolling to stop and only re-translates bubbles that actually changed
- 03Each translation drawn as its own small opaque overlay window, so the app never reads its own output
- 04Selectable engines with the user's own keys: Claude, Gemini, ChatGPT, DeepL and Google — plus on-device Gemini Nano and an offline ML Kit fallback that shows first while the better translation loads
- 05Optional per-series memory that learns character names and terms so they stay consistent across chapters
- 06Interface in 10 languages; tap a bubble to copy it, hold to peek at the original
Outcome
- —A working Android app, shared as a signed APK through GitHub Releases
- —No server to run: users bring their own API keys, stored only on their phone
Next project →