Molo: isiXhosa course, live on both app stores in five weeks
Founder and sole engineer · Since 2026
- From first commit to live on the App Store and Google Play in five weeks
- iOS, Android and web from one monorepo, published by Hardmax AS
- No learner sees content a human isiXhosa editor has not approved: enforced in code, asserted by tests
The problem
isiXhosa is spoken at home by about ten million people. It has fifteen click sounds, and it is tonal without writing the tone down, so a learner who only reads the words learns them wrong. The big language apps do not offer it, and the dedicated apps I found were phrasebooks with a play button. It is also exactly the kind of language where a fluent-sounding language model will confidently teach you something wrong.
What I did
I built Molo alone, end to end, as a Hardmax product. The app is React Native with Expo, so one codebase covers iOS and Android and fixes reach learners as over-the-air updates the same day. The same course runs on the web in TanStack Start, next to an editor dashboard where a native speaker records audio, writes sentences and approves content. The API runs on Cloudflare Workers in front of Postgres, and data crossing that boundary is decoded with Effect Schema, so malformed input fails loudly instead of corrupting a lesson.
Correctness is designed in, not reviewed in. Word forms come from a grammar engine I wrote in Rust and compiled to WebAssembly: a finite-state generator over a validated lexicon, so inflection is computed rather than guessed by a model. Every piece of content carries a status, and there is no code path that shows a learner anything a human isiXhosa editor has not approved; the test suite asserts it. Every published word has a real speaker’s voice. Reviews are scheduled with FSRS, the spaced-repetition algorithm Anki uses, so practice lands when a word is about to slip. Subscriptions run through RevenueCat across both stores, and store builds ship from a CI release workflow, not a laptop.
The outcome
Molo went from first commit on 3 September 2026 to live on the App Store and Google Play on 7 October, five weeks later, published by Hardmax AS. The web version runs at hellomolo.com. English and Norwegian were built in as source languages from day one: a missing Norwegian translation blocks publication instead of silently falling back to English.
- React Native
- Expo
- TypeScript
- TanStack Start
- Hono
- Cloudflare Workers
- Postgres
- Rust (WebAssembly)
- Effect.ts
- RevenueCat