Desktop / Android · Dirilis
Laras
Aplikasi belajar bahasa yang tetap berjalan tanpa sinyal, di desktop dan Android.
Nilai jual
Yang membuatnya menonjol.
Belajar di mana saja tanpa kuota
Materi tersimpan di perangkat, jadi sesi belajar tetap berjalan di kereta, di daerah dengan sinyal lemah, atau saat kuota habis.
Berlatih bicara, bukan hanya menghafal
Pengenalan suara menilai pelafalan kata demi kata, sehingga pelajar mendapat umpan balik atas ucapannya sendiri.
Suara tidak pernah meninggalkan perangkat
Rekaman diproses secara lokal dan tidak diunggah. Privasi terjaga tanpa mengorbankan fitur.
Sudah dirilis dan terus diperbarui
Installer Windows dan APK Android tersedia untuk diunduh, dengan enam rilis desktop terbit dalam rentang sepuluh hari.
Masalahnya
Kebanyakan aplikasi bahasa mengandaikan koneksi yang stabil dan bertumpu pada hafalan kosakata. Pelajar yang sedang di perjalanan, di daerah dengan sinyal lemah, atau dengan kuota terbatas kehilangan akses justru saat mereka punya waktu berlatih, dan hafalan saja tidak membangun keberanian berbicara.
Untuk siapa
Pelajar mandiri di Indonesia yang belajar di ponsel pada siang hari dan di laptop pada malam hari, sering kali dengan koneksi yang tidak andal.
Fitur utama
Materi yang berjalan offline
Materi belajar tersimpan di perangkat, sehingga sesi dapat dimulai dan diselesaikan tanpa jaringan. Progres dikirim ke server di latar belakang begitu perangkat kembali online.
Enam mode latihan
Kosakata, tata bahasa, membaca, mendengarkan, menulis, dan berbicara, masing-masing dengan latihan dan skor terbaik per materi.
Penilaian pelafalan di perangkat
Jawaban lisan ditranskripsikan secara lokal oleh pengenal suara Vosk lalu dibandingkan kata demi kata dengan frasa target. Audio tidak diunggah.
Umpan balik tulisan tanpa server
Pemeriksa berbasis aturan menandai masalah ejaan, artikel, tanda baca, dan kesesuaian subjek-kata kerja, lalu memberi skor pada setiap tulisan.
Level, ujian, dan sertifikat
Konten disusun dari A1 hingga C2. Ujian akhir 30 soal dengan batas lulus 70% membuka level berikutnya dan sertifikat yang dapat dicetak.
Satu akun di semua perangkat
Mulai di Android, lanjutkan di aplikasi desktop. Progres mengikuti akun setelah tersinkron.
Pendekatan yang sama bisa diadaptasi untuk
- Aplikasi pelatihan karyawan yang bisa dipakai offline
- Platform kursus dengan level, ujian, dan sertifikat
- Aplikasi desktop dengan data lokal dan installer bertanda tangan
Arsitektur
Bagian ini mengikuti dokumen arsitektur yang disimpan bersama kode sumber desktopnya.
Versi desktop adalah jendela Tauri yang menampilkan aplikasi satu halaman Vue 3 dan Quasar. Antarmukanya tidak pernah menghubungi internet untuk fitur inti. Ia memanggil REST API Go di 127.0.0.1, yang dijalankan Tauri sebagai proses sidecar, dan API itu membaca serta menulis satu file SQLite di disk.
Backend Go mengikuti Clean Architecture dengan empat lapisan:
- domain berisi struct dan interface murni tanpa impor pihak ketiga.
- usecase mengimplementasikan satu operasi bisnis per tipe dan hanya bergantung pada interface domain, sehingga aturan diuji unit dengan tiruan in-memory.
- repository/sqlite mengimplementasikan interface domain di atas
database/sql. - delivery/http memetakan permintaan ke use case melalui router chi dan memegang DTO, validasi, serta kode status.
Satu composition root merangkai tipe konkretnya. Tidak ada bagian lain yang tahu basis data apa yang dipakai.
Detail implementasi
SQLite murni Go. Server API memakai modernc.org/sqlite yang tidak membutuhkan CGO. Biner utama jadi mudah dikompilasi silang untuk Windows dan Linux tanpa toolchain C di mesin build.
Suara di prosesnya sendiri. Vosk memang membutuhkan pustaka native. Agar kebutuhan itu tidak menyebar, pengenalan suara dibangun sebagai biner sidecar kedua. CGO terisolasi di sana dan build server utama tidak terpengaruh.
Tauri, bukan Electron. Aplikasi ini sudah membawa model suara, jadi shell-nya harus kecil. Tauri memakai webview sistem sehingga ukuran instalasi dan pemakaian memori tetap rendah.
Autentikasi lokal yang serius. Walaupun API hanya mendengarkan di loopback, ia menerbitkan JWT dengan refresh token berotasi yang disimpan di tabel sesi, dan meng-hash kata sandi dengan bcrypt cost 12. Ini menyisakan sambungan yang rapi untuk klien jaringan seperti aplikasi Android.
Galat bertipe. Use case mengembalikan galat aplikasi bertipe yang berisi kode dan pesan. Middleware HTTP memetakannya ke status yang konsisten, sehingga handler tidak pernah memilih kode status secara manual untuk kegagalan bisnis.
Folder fitur mencerminkan backend. Setiap modul, misalnya kosakata atau berbicara, adalah satu folder di frontend dan sepasang use case serta handler di backend. Milestone baru menambah file, bukan mengubah file bersama.
Pipeline rilis
Mendorong tag yang cocok dengan app-v* memicu workflow GitHub Actions yang membangun kedua sidecar dan bundel Tauri, lalu melampirkan installer ke draf rilis. Draf ditinjau sebelum dipublikasikan.
Yang bisa diverifikasi
- Enam rilis desktop diterbitkan antara 28 Juli dan 6 Agustus 2026, dari v0.1.1 hingga v0.1.5.
- Installer Windows dalam format .exe dan .msi, masing-masing dengan tanda tangan updater dan manifes pembaruan.
- Tersedia di Google Play, dan APK Android juga diterbitkan untuk arm64-v8a, armeabi-v7a, dan x86_64.
- Kesebelas milestone di roadmap proyek sudah ditandai selesai.
Tangkapan layar















