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

  1. 01Screen capture with MediaProjection and on-device ML Kit OCR, with lines grouped back into speech bubbles before translation
  2. 02Change detection that waits for scrolling to stop and only re-translates bubbles that actually changed
  3. 03Each translation drawn as its own small opaque overlay window, so the app never reads its own output
  4. 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
  5. 05Optional per-series memory that learns character names and terms so they stay consistent across chapters
  6. 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 →

Supplier Portal Bot — B2B Price & Stock Sync →