← Cantonese Garden
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.