Cases
Language-learning appMobile Apps

Learn BM

An offline-first Flutter flashcard app for learning Malay: native text-to-speech, smart progress tracking, and session resume, built to scale to new languages.

Learn BM

The board state

Language learning that fits real life

Learning a language needs consistent practice and instant feedback, but most tools demand a connection and a lot of friction. Learn BM was built to remove both: an app that makes studying Malay vocabulary intuitive and works anywhere, online or not.

The move

Interactive flashcards, offline by design

The app teaches both directions, Malay to English and back, with native text-to-speech pronunciation and more than 20 vocabulary categories. Session persistence drops learners back on the exact card they left, and a “difficult words” feature keeps focus on what they struggle with.

Built in Flutter with a type-safe Drift (SQLite) database, everything runs on-device. JSON-based seeding and a clean, modular architecture mean new languages, categories, or word sets slot in without touching the core.

The result

A learning tool built to grow

Learn BM runs natively on iOS and Android from one codebase, offline-capable and ready to expand from a focused Malay app into a multi-language platform. It is a small product with the architecture of a much bigger one.

20+

vocabulary categories

2

platforms, one codebase

100%

offline-capable

Built with

FlutterDrift (SQLite)flutter_ttsSharedPreferences