19 Sep
|
Zan - Zari Group
|
India
19 Sep
Zan - Zari Group
India
Shalem is a React Native/Expo app (Supabase backend, Anthropic Claude for content generation) currently shipping English-only. Story content is being translated separately; this role owns making the app itself function correctly in additional languages — UI, content delivery, AI-generated text, and audio.
What you'll actually be doing
- Extract ~150 screens/components' hardcoded English strings into a proper i18n catalog (react-i18next or similar) and build a working language switcher (the current Settings → Language screen is a non-functional stub)
- Wire the existing but unused translations JSON field on the stories table into every place that serves story content (match-stories, create-sharing, deliver-path-day Supabase edge functions)
- Add a stored user-language preference and thread it into the Claude prompts that generate reflections, bridge text, and Path day content, so AI output responds in the user's language
- Evaluate and implement a strategy for semantic story matching across languages (currently English-only OpenAI embeddings) — either per-language embeddings or a hybrid English-match/localized-display approach
- Coordinate per-language ElevenLabs audio generation for the app's 4 voices and QA the output
- Localize push notification, email, and in-app subscription/cancel-flow copy
- Test end-to-end in each target language before rollout
Required skills
- React Native / Expo — robust, hands-on (this is not optional; most of the work is here)
- TypeScript across a real codebase,
not toy projects
- Supabase (Postgres, RLS, Edge Functions in Deno/TypeScript)
- Experience shipping i18n in a mobile app — string extraction, locale switching, RTL/formatting edge cases
- Comfortable working with LLM APIs (Anthropic Claude) — prompt structure, not model training
- Git workflow discipline; ability to work from a spec without heavy hand-holding
Nice to have
- Experience with OpenAI embeddings / vector search (pgvector)
- ElevenLabs or other TTS API integration
- RevenueCat
- Hebrew or other RTL language familiarity (bonus given the app's content domain)
Application process
Candidates who pass the initial interview will be asked to complete a take-home technical assignment before an offer is made:
- A small sample React Native/Expo repo with ~10 screens, requiring you to: wire up i18n, extract hardcoded strings into an English + Spanish catalog, build a working language switcher, and connect it to a Supabase field storing translated content.
- The deliverable must run on a physical device or a real device build (EAS dev build / expo run:ios / expo run:android) — an Expo Go simulator screenshot or recording will not be accepted. Submit a screen recording of the language switch working on that build, plus a PR with your code.
- Expected time: 3–5 hours.
- This assignment is unpaid and is the final step before an offer decision.
Skills:- React Native, expo, TypeScript, Supabase and i18n
📌 Mobile Localization Engineer (India)
🏢 Zan - Zari Group
📍 India