Setup & build guide
Install, run and build Vocabryn
Vocabryn is delivered as source code. There is no App Store, TestFlight or APK download for this review — you build it yourself with the steps below, on your own Apple and Google accounts when you publish.
Requirements
| Tool | Version | Needed for |
|---|---|---|
| Node.js | 20.19 or newer (tested with 24.21) | Installing, testing, bundling |
| Xcode | 26 or newer (tested with 27.0) on macOS | iOS builds and the iOS Simulator |
| Android SDK | Platform 36, build-tools 36, JDK 17 | Android builds and the emulator |
| Maestro | 2.x (optional) | Running the end-to-end flows in app/e2e/ |
From the ZIP to a running app
Install dependencies
cd vocabryn/app npm ciRun the checks
Typecheck, lint and the Jest suite (unit and journey tests).
npm run check:allGenerate the native projects
ios/andandroid/are generated fromapp.config.tsandbrand.config.json.npx expo prebuild --cleanRun on a simulator or emulator
npx expo run:ios npx expo run:androidRelease builds
# iOS Simulator, unsigned xcodebuild -workspace ios/Vocabryn.xcworkspace -scheme Vocabryn \ -configuration Release -sdk iphonesimulator \ -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build # Android APK (signed with the debug key until you add your own) cd android && ./gradlew assembleRelease
Make it yours
app/brand.config.json— app name, bundle ID / package, deep-link scheme, version, store text, icon and splash colours.npm run brand:assets— regenerates every icon, adaptive icon, splash and notification icon.app/src/config/theme.ts— light and dark colour roles and fonts; a test checks text contrast.app/src/content/collections/— bundled phrase collections; learners can also import CSV or JSON.app/src/config/schedule.ts— every scheduling constant; the in-app rules page reads the same file.app/src/i18n/en.ts— all interface text, ready for translation.
What costs money, and what doesn't
Building and running locally needs no paid service. Publishing does: an Apple Developer Program membership for the App Store or TestFlight, and a Google Play Console registration for Google Play. Expo's EAS cloud builds are optional. If you add sync, accounts or server push, you also need a backend of your choice.
Deep links use the vocabryn:// scheme (from brand.config.json), for example vocabryn://word/meeting-room--circle-back.