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

ToolVersionNeeded for
Node.js20.19 or newer (tested with 24.21)Installing, testing, bundling
Xcode26 or newer (tested with 27.0) on macOSiOS builds and the iOS Simulator
Android SDKPlatform 36, build-tools 36, JDK 17Android builds and the emulator
Maestro2.x (optional)Running the end-to-end flows in app/e2e/

From the ZIP to a running app

  1. Install dependencies

    cd vocabryn/app
    npm ci
  2. Run the checks

    Typecheck, lint and the Jest suite (unit and journey tests).

    npm run check:all
  3. Generate the native projects

    ios/ and android/ are generated from app.config.ts and brand.config.json.

    npx expo prebuild --clean
  4. Run on a simulator or emulator

    npx expo run:ios
    npx expo run:android
  5. Release 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.