Deployment
Vercel for web + API, EAS for iOS + Android, Supabase for storage.
Updated May 27, 2026
Nyra is two Vercel projects plus EAS for native.
Marketing site
sarveshsea/nyra-landing (this repo). Static Next.js 16 with Tailwind v4. npm run build outputs 100 percent static routes plus one optional waitlist API handler. Import into Vercel, set NEXT_PUBLIC_OPENMIND_APP_URL to wherever the app is hosted, deploy. Custom domain at nyra.us.com.
App
sarveshsea/MiroTherapy under apps/miro/. Expo Router with output: 'server' in app.config.ts, which means API routes run as Vercel serverless functions.
Import the same GitHub repo into Vercel as a second project. Root directory = apps/miro. Required env vars:
OPENAI_API_KEY(OpenRouter or OpenAI)OPENAI_BASE_URL(defaults to OpenRouter)OPENMIND_TEXT_MODELOPENMIND_MODEL_PROVIDER_READY=trueSUPABASE_URLandSUPABASE_SERVICE_ROLE_KEY(server-only)EXPO_PUBLIC_SUPABASE_URLandEXPO_PUBLIC_SUPABASE_ANON_KEY(client-safe)OPENMIND_STORAGE=supabaseOPENMIND_STORAGE_MODE=per-tableOPENMIND_REALTIME_READY=true
Custom subdomain at app.nyra.us.com.
iOS / TestFlight
EAS Build runs the production iOS profile remotely; submit uses an App Store Connect API key (.p8) for non-interactive auth. See docs/testflight-runbook.md in the main repo for the full one-time setup. Required env vars before submit:
OPENMIND_IOS_BUNDLE_IDENTIFIEROPENMIND_ASC_APP_IDOPENMIND_APPLE_TEAM_IDOPENMIND_ASC_API_KEY_PATH(absolute path to the.p8file)OPENMIND_ASC_API_KEY_IDOPENMIND_ASC_API_KEY_ISSUER_ID
cd apps/miro
npm run release:verify:strict
npm run release:testflight:build
npm run release:testflight:submit
Android
release:build:preview:android gives you a free .apk URL from EAS, sideloadable for testing. Internal Play testing needs the one-time $25 Google account.
Supabase
One Supabase project. Run docs/supabase-schema.sql once in the SQL editor to create the per-table schema. The legacy single-blob mirotherapy_dev_store table is auto-imported on first per-table read, so flipping OPENMIND_STORAGE_MODE=per-table does not lose data.