Tulk — ترجم في أي مكان حتى دون اتصال
منتج ترجمة يعمل دون اتصال أولًا ويشغّل NLLB-200 بالكامل على هاتفك — أكثر من 200 لغة، صوت، دردشة، ووضع وجهًا لوجه بلا حساب وبلا استدلال سحابي بعد تنزيل النموذج مرة واحدة.
- 200+
- Languages
- Offline
- Network
- ~1.3 GB
- Model

Background
Most translation apps fail the moment the network drops — airports, trains, rural travel, fieldwork. Cloud models also create privacy and latency costs that don’t fit travel or sensitive conversations.
Tulk was built so translation keeps working after a single model download, with every inference staying on the device.
Problem statement
Travellers and teams need translation that:
- works with no signal after setup
- covers a wide language set without per-language packs
- supports chat, voice, and face-to-face conversation modes
- keeps text and speech private — processed locally
Goals
Product
- Ship a production offline translator on iOS
- One unified model covering 200+ languages
- Make download-once, translate-forever the default story
Experience
- Clear first-run model download and priming
- Chat threads as a growing offline phrasebook
- Face-to-face split view for two people sharing one phone
Trust
- No accounts, no tracking, no cloud telemetry for inference
- Legal and support surfaces for App Store compliance
Approach
Model lifecycle
- NLLB-200 distilled encoder/decoder in ONNX (~1.3 GB total)
- One-time download, then all languages available offline
- Speech via on-device engine — no cloud round-trips for inference
Interaction model
- Quick translate for one-off phrases
- Named chat threads for ongoing conversations
- Face-to-face mode with partner half rotated 180°
Delivery model
- React Native + Expo for a focused iOS release
- MMKV and local storage for threads and preferences
- EAS Update path for post-launch iteration
UX and design decisions
Offline-first, not offline-as-fallback
The product story leads with “works without internet,” so first-run download is treated as setup — not a failure state.
One model, not language packs
Users pick any of 200+ languages after priming without managing per-language downloads.
Face-to-face as a first-class mode
Split-screen with inverted partner text makes two-person translation feel natural on one device.
Privacy by architecture
Local inference removes the need for accounts or cloud logs for core translation — trust is structural, not a policy footnote.
Technical implementation
React Native and Expo client with on-device NLLB-200 via ONNX Runtime, speech input/output on-device, local chat persistence, and a free App Store release pipeline.
Trust and store readiness
- Hosted Privacy and Support surfaces under /tulk
- Clear offline and model-size expectations in store listing
- No account wall for core translation flows
- App Store–ready screenshots and localisation assets
Key challenges and solutions
Shipping a multi-GB model without killing UX
المشكلة
A ~1.3 GB download can feel broken if progress, retries, and priming aren’t obvious.
الحل
Dedicated first-run download and priming states so users know when the app becomes fully offline-capable.
Keeping inference usable on phone hardware
المشكلة
On-device NMT can stutter if the runtime path isn’t tuned for mobile.
الحل
ONNX Runtime integration with a distilled NLLB-200 pair and pragmatic interaction modes that match device constraints.
Conversation continuity without the cloud
المشكلة
Travellers need more than one-off phrase translation.
الحل
Named local chat threads that grow into an offline phrasebook you can reopen anywhere.
Two-person translation on one screen
المشكلة
Passing a phone back and forth breaks conversational flow.
الحل
Face-to-face mode with the partner’s half rotated so each person reads in their language.
Outcomes
- Live free on the App Store for iOS
- 200+ languages from one on-device model
- Fully offline after the one-time download
- Chat, voice, and face-to-face modes shipping in production
- Privacy-preserving architecture — inference stays on device
- Reusable pattern for offline, on-device AI in other mobile products
Product in the hand
From first launch through chat and face-to-face — how Tulk feels when the network isn’t there.
مرّر لاستكشاف المنتج
What's next
- Broader platform coverage beyond the iOS launch
- Deeper travel and fieldwork workflows
- Continued model and runtime performance work
- Patterns reused for client offline / on-device AI products
تبني ذكاءً اصطناعيًا دون اتصال أو على الجهاز في منتج جوال؟
نساعد الفرق على إطلاق منتجات React Native تعمل النماذج فيها على الجهاز — بنفس الصرامة وراء Tulk.




