← Cantonese Garden Cantonese Garden icon

How it's built

A closer look at the beta's screens and the stack behind them.

Screens

Garden
screenshot coming soon
Lesson Path
screenshot coming soon
Collection
screenshot coming soon
Leaderboard
screenshot coming soon

Tech stack

  • React Native + Expo iOS-first, TypeScript throughout, built on Expo SDK 54 — around 28 screens covering the garden, lessons, pets, shop, and social features.
  • On-device speech recognition A quantized ONNX speech model runs entirely on the phone via WebAssembly, so your voice never leaves the device. A custom tone gate checks the phrase against the expected Cantonese tone contour.
  • Supabase backend Postgres and Auth handle accounts and sync, with server-side Postgres functions for anything that needs to be tamper-resistant — like reward and pet outcomes — instead of trusting the client.
  • Local-first sync Progress renders instantly from on-device storage and syncs to the backend in the background, so the app stays fast and usable even on a spotty connection.
  • Content pipeline Close to 1,100 phrases across 29 lessons, authored once and compiled into a static bundle shipped with the app — lessons load instantly with no server round-trip.
  • Self-hosted beta distribution This very beta runs on a small self-managed Oracle Cloud VM serving the Expo Metro bundler directly, so testers get the latest build over the network without waiting on App Store review.