Dari Proyek Sampingan ke Penerjemah 108 Bahasa: Mengapa Saya Membangun Traverba

Saya membangun aplikasi penerjemah yang berjalan sepenuhnya di ponsel Anda. Tanpa cloud. Tanpa panggilan API. Tanpa data yang meninggalkan perangkat. 108 bahasa. Terjemahan suara, kamera, layar, dan percakapan grup offline melalui Bluetooth.

Semuanya berawal karena saya tidak bisa menemukan yang saya butuhkan, dan berkembang menjadi sesuatu yang lebih besar dari yang saya perkirakan.

Masalahnya

Saya tinggal di Hong Kong. Kehidupan sehari-hari saya melibatkan bahasa Kanton, Mandarin, Inggris, dan kadang-kadang Jepang. Keluarga pasangan saya berbicara bahasa Kanton. Pekerjaan saya menggunakan bahasa Inggris. Formulir pemerintah ditulis dalam Bahasa Tionghoa Tradisional. Menu restoran di sekitar tempat tinggal saya sering dalam Bahasa Tionghoa Sederhana atau Jepang.

Saya sudah mencoba semua penerjemah yang ada di pasaran:

Google Translate cukup baik saat online, tetapi kualitasnya menurun drastis saat offline. Selain itu, ia mengelompokkan bahasa Kanton ke dalam "Bahasa Tionghoa," yang bagi siapa pun yang berbicara Kanton sama saja seperti mengelompokkan bahasa Portugis ke dalam "bahasa Spanyol." Keduanya memang berbagi karakter, tetapi bukan pengucapan, tata bahasa, atau kosakata.

Pocketalk harganya $323 dan membutuhkan koneksi internet untuk setiap terjemahan. Saya tidak bisa menggunakannya di MTR (kereta bawah tanah Hong Kong) karena separuh stasiunnya tidak memiliki sinyal.

Apple Translate memiliki desain yang indah dan pemrosesan yang baik di perangkat, tetapi hanya mendukung sekitar 20 bahasa. Tidak ada bahasa Kanton. Di sebuah kota di mana 95% penduduknya berbicara Kanton. Itu sudah cukup untuk menggambarkan bagaimana perusahaan teknologi besar memprioritaskan bahasa.

iTranslate mengunci fitur utamanya di balik paywall $50/tahun. DeepL bahkan tidak mendukung suara atau kamera.

Tidak satu pun dari mereka yang bisa menangani makan malam bersama keluarga pasangan saya di mana orang-orang beralih antara Kanton, Mandarin, dan Inggris di tengah percakapan. Tidak satu pun yang bisa menerjemahkan pesan suara Kanton yang saya terima di WhatsApp. Tidak satu pun yang bekerja dengan andal di area dengan koneksi buruk.

Maka saya mulai membangun.

Versi Pertama Sangat Buruk

Prototipe pertama adalah aplikasi Flutter dengan satu model ASR (Whisper, berjalan di perangkat melalui sherpa-onnx) dan terjemahan NMT dasar. Hanya mendukung sekitar 15 bahasa. Pengenalan suaranya lambat. Terjemahannya biasa-biasa saja. Tampilan antarmukanya jelek.

Tapi ia bekerja secara offline. Dan satu fakta itulah, bahwa saya bisa menerjemahkan kalimat bahasa Kanton ke bahasa Inggris di dalam pesawat tanpa WiFi, yang membuat saya terus melanjutkan.

Lubang Kelinci Arsitektur

Begitu Anda berkomitmen pada AI di perangkat, Anda akan jatuh ke dalam lubang kelinci yang dalam.

ASR (pengenalan suara): Satu model tidak cocok untuk semua bahasa. Akhirnya saya mengirimkan tiga model: Parakeet (dioptimalkan untuk bahasa Inggris, sudah terbundel), Whisper.cpp (multibahasa luas, dapat diunduh), dan Qwen3-ASR (dioptimalkan untuk CJK, dapat diunduh). Aplikasi secara otomatis mengarahkan ke model terbaik berdasarkan bahasa sumber.

Terjemahan: Model ML tradisional mencakup 61 pasang bahasa yang memiliki banyak sumber daya. Untuk 47 bahasa lainnya (Yoruba, Amharic, Lao, Myanmar, dan lainnya), LLM Gemma yang dikuantisasi dan berjalan secara lokal menangani terjemahan. Inilah yang memungkinkan jumlah bahasa melonjak dari 61 menjadi 108.

OCR Kamera: Dua mesin. ML Kit untuk pengenalan cepat. PaddleOCR untuk pengenalan menyeluruh pada aksara yang kompleks. iOS mengharuskan penambahan pod spesifik aksara secara manual karena Apple hanya menyertakan model Latin secara default. Hal itu membutuhkan sehari penuh untuk di-debug karena kegagalannya sama sekali tidak menampilkan pesan kesalahan.

Obrolan grup: Jaringan mesh Bluetooth yang menghubungkan hingga 7 perangkat. Setiap ponsel menangani ASR dan terjemahannya sendiri. Pesan disiarkan ke semua perangkat. Tidak ada server yang mengkoordinasi apa pun.

Manajemen memori: Inilah tantangan rekayasa yang sesungguhnya. Tiga model ASR, model terjemahan, sebuah LLM, dan mesin OCR tidak semuanya bisa tinggal di RAM ponsel secara bersamaan. Aplikasi ini memiliki perencana anggaran memori yang memuat dan mengeluarkan model berdasarkan apa yang sedang dilakukan pengguna saat ini.

Angka-Angkanya

  • Waktu pengembangan: Sekitar 18 bulan dari commit pertama hingga peluncuran di App Store / Play Store
  • Bahasa: 108 (61 ML tradisional + 47 AI via Gemma)
  • Bahasa ASR: 30 dengan pengenalan suara di perangkat
  • Bahasa OCR: 92 dengan pengenalan teks kamera
  • Ukuran aplikasi: ~150MB dasar + model yang dapat diunduh
  • Harga: Tingkat gratis dengan semua fitur inti. Premium seharga $1,99/bulan atau $19,99/tahun untuk obrolan grup, transkripsi file, dan ringkasan rapat
  • Ukuran tim: 1 orang

Yang Saya Lakukan Dengan Benar

Privasi sebagai arsitektur, bukan kebijakan. "Kami tidak berbagi data Anda" adalah sebuah kebijakan. Itu bisa berubah. "Data Anda tidak pernah meninggalkan ponsel Anda karena tidak ada server" adalah arsitektur. Itu tidak bisa berubah tanpa membangun ulang aplikasinya. Pengguna memahami perbedaan ini secara intuitif.

Bahasa Kanton sebagai bahasa kelas satu. Kebanyakan penerjemah memperlakukan bahasa Kanton sebagai bahasa Tionghoa dengan aksen yang berbeda. Traverba memiliki model ASR khusus untuk bahasa Kanton. Hal ini sangat beresonansi dengan basis pengguna di Hong Kong dan Guangdong, yang sudah lelah diperlakukan sebagai afterthought.

Tingkat gratis yang dermawan. Terjemahan suara, terjemahan kamera, terjemahan layar, dan terjemahan teks semuanya gratis dan tidak terbatas. Paywall hanya membatasi fitur obrolan grup, transkripsi file, dan ringkasan rapat. Ini penting karena orang-orang yang paling membutuhkan terjemahan, para imigran, wisatawan di tempat asing, pelajar, sering tidak mampu membayar langganan premium.

Desain offline-first. Setiap fitur bekerja tanpa internet. Internet bukan mode yang terdegradasi. Offline ADALAH modusnya. Ini adalah proposisi nilai yang lebih kuat daripada "juga bisa digunakan secara offline."

Yang Saya Lakukan Dengan Salah

Meremehkan perangkat kelas bawah. Pengembangan dilakukan di ponsel flagship. Pertama kali saya menguji di ponsel dengan RAM 3GB, separuh fiturnya crash. Manajemen memori seharusnya menjadi hal pertama yang saya bangun, bukan tambahan belakangan.

Proses tinjauan iOS. Apple menolak pengajuan pertama karena tidak mengimplementasikan App Tracking Transparency (ATT). Meskipun Traverba tidak melacak pengguna, SDK AdMob memicu persyaratan tersebut. Membuat ATT berfungsi dengan benar melalui Flutter dengan timing yang tepat (setelah peluncuran aplikasi, sebelum iklan diinisialisasi) membutuhkan beberapa iterasi.

Tidak meluncurkan lebih awal. Saya menghabiskan berbulan-bulan menyempurnakan fitur-fitur yang tidak diminta pengguna sebelum peluncuran. Umpan balik yang saya terima setelah peluncuran sama sekali berbeda dari apa yang saya perkirakan. Rilis lebih awal, dengarkan, lakukan iterasi. Semua orang mengatakan ini. Saya tetap jatuh ke dalam jebakan yang sama.

Peluang Pasar

Pasar terjemahan bernilai lebih dari $40 miliar dan terus berkembang. Namun didominasi oleh dua ekstrem:

  1. Aplikasi cloud gratis (Google Translate, Apple Translate) yang cukup baik untuk kebanyakan orang tetapi mengorbankan privasi dan keandalan offline
  2. Perangkat keras mahal (Pocketalk $323, Timekettle $299, Vasco $350+) yang membutuhkan internet dan memecahkan masalah yang sebenarnya sudah bisa diselesaikan oleh ponsel Anda

Celah di tengahnya, sebuah aplikasi gratis/terjangkau dengan pemrosesan penuh di perangkat yang benar-benar berfungsi, masih sangat kosong. DeepL hanya berbasis teks. iTranslate memblokir fitur inti di balik paywall. Sebagian besar alat terjemahan AI hanya tersedia di cloud.

AI di perangkat sudah melewati ambang batas kualitas. Model-modelnya sudah cukup baik. Ponselnya sudah cukup cepat. Framework-nya (CoreML, ONNX, sherpa-onnx, LiteRT) sudah cukup matang. Yang kurang adalah seseorang yang membangun lapisan produk di atasnya.

Apa Selanjutnya

Peta jalan segera:

  • Lebih banyak bahasa ASR. 30 bahasa adalah awal yang baik, tetapi bahasa-bahasa ekor panjang juga membutuhkan pengenalan suara.
  • Terjemahan LLM yang lebih baik. Gemma 2B sudah baik. Model yang lebih baru dan lebih kecil mungkin lebih baik. Arsitekturnya mendukung penggantian model tanpa mengubah aplikasi.
  • Optimasi iPad dan tablet. Aplikasi ini berfungsi di tablet, tetapi UI-nya belum dioptimalkan untuk layar yang lebih besar.
  • Akselerasi Android Vulkan. iOS memiliki Metal dan CoreML untuk inferensi GPU. Kisah akselerasi GPU Android (Vulkan melalui whisper.cpp) masih perlu lebih banyak pekerjaan.

Visi yang lebih besar: sebuah dunia di mana bahasa bukan lagi penghalang untuk koneksi antarmanusia, dan di mana merobohkan penghalang itu tidak mengharuskan Anda menyerahkan percakapan pribadi ke server perusahaan teknologi.

Jika Anda sudah membaca sampai sini, coba aplikasinya. Gratis. Saya membaca setiap umpan balik yang masuk.


Traverba tersedia di Google Play dan App Store. Pelajari lebih lanjut di traverba.com. Pertanyaan, umpan balik, atau permintaan fitur: [email protected]