About KingoMart
KingoMart is a B2B e-commerce marketplace connecting suppliers and business buyers. Our platform today consists of a customer storefront (Next.js + React + TypeScript), an internal admin panel (React + TypeScript), and a FastAPI + PostgreSQL backend that publishes a typed OpenAPI contract. Everything user-facing is TypeScript, and mobile will be too.
The role
You will be our first and founding mobile engineer. You own the mobile architecture end to end: you will build and ship our customer storefront app for Android and iOS (React Native + Expo, TypeScript), and later a second app for our suppliers. The monorepo, typed API client, and build-service decisions (Expo EAS) are already in place you take them from skeleton to shipped product, and you own every release that follows.
This is a high-ownership role: you set the technical standards, the release process, and the quality bar that the whole mobile codebase will live with for years.
What you will do
Build and ship the KingoMart storefront app (catalog, search, cart, checkout, orders, account) to both the App Store and Google Play.
Own the mobile architecture: navigation, state management, offline/caching strategy, deep linking, and push notifications documented in ADRs.
Own release engineering: EAS builds, store submissions, staged rollouts, over-the-air updates, crash monitoring, and rollback strategy.
Integrate with our FastAPI backend through the shared OpenAPI-generated TypeScript client.
Establish testing practices (unit, component, and end-to-end) and the CI checks that enforce them.
Later: build the supplier-panel app on the foundations you laid shared design system, auth, and API layer.
Work alongside our web engineers (React/TypeScript); code review flows both ways.
Desired Candidate Profile
Experience - 5+ years of software engineering, with 3+ years of React Native in production and strong TypeScript.
Shipped and maintained - at least two apps live in both the App Store and Play Store maintained through OS releases, store policy changes, and at least one major React Native upgrade or architecture migration.
Expo ecosystem - EAS Build / Submit / Update, config plugins, development builds, Continuous Native Generation.
Native literacy - able to read and write basic Swift and Kotlin - enough to debug a native crash, write a config plugin, or wrap a native SDK.
Navigation & deep linking - Expo Router or React Navigation; universal links / app links; push-notification routing.
State & data - clear judgment on server state vs client state (e.g. TanStack Query + a light client store), and cart/checkout state design.
Offline & caching - cache-first browsing, optimistic updates with rollback, queued mutations with sync and conflict handling.
Push notifications - FCM + APNs end to end: permission UX, token lifecycle, payload design, all three app states.
Performance - list virtualization, image pipelines, Hermes profiling, startup time, and re-render analysis on real devices.
Testing - Jest + React Native Testing Library; E2E with Maestro or Detox; a coherent view of what to test at which layer.
Release engineering - staged rollouts, OTA update policy and its store-policy boundaries, versioning, crash monitoring (Sentry or similar).
Security - Keychain/Keystore for tokens (never AsyncStorage), secure deep-link handling, store privacy declarations.
Nice to have
AI experience - Familiarity with AI-powered applications, LLM APIs (e.g. OpenAI), AI-assisted features such as chat, recommendations, semantic search, and prompt engineering. Experience integrating AI services into mobile applications is a strong advantage.
E-commerce or B2B app experience; payment SDK integration (Stripe, Adyen, or similar).
Monorepo experience (Turborepo/Nx or pnpm workspaces) sharing code with React web apps.
Comfortable occasionally contributing to our React web codebases (Next.js storefront, Vite admin).
Analytics and experimentation in mobile release cadences; App Store / Play Store review battle scars.
Accessibility (VoiceOver/TalkBack), i18n/RTL (our storefront ships English, French, and Arabic).
Able to read Python well enough to follow a FastAPI endpoint.
React Native New Architecture migration experience.
Our stack (context, not requirements)
Storefront web: Next.js 16, React 19, TanStack Query, Tailwind, next-intl.
Admin panel: Vite + React + TypeScript, shadcn/ui.
Backend: FastAPI + PostgreSQL; OpenAPI contract with generated TypeScript clients.
Mobile (yours): Expo SDK 57+, Expo Router, pnpm + Turborepo monorepo, EAS.
حول KingoMart
KingooMart هو سوق تجارة إلكترونية من B2B يربط الموردين ومشترين الأعمال. منصتنا اليوم تتكون من واجهة متجر للعملاء (Next.js + React + TypeScript)، ولوحة إدارة داخلية (React + TypeScript)، وخلفية FastAPI + PostgreSQL التي تنشر عقد OpenAPI مُTyped. كل ما يواجه المستخدم من جانب الواجهة هو TypeScript، وسيكون الهاتف المحمول كذلك.
الدور
ستكون مهندسنا المحمول الأول والمؤسس. أنت تملك بنية الهاتف من طرف إلى آخر: ستبني وتطلق تطبيق متجر العملاء لنظامي Android وiOS (React Native + Expo, TypeScript)، ولاحقاً تطبيق ثانٍ للموردين. يتم وضع قرارات monorepo، عميل API مُTyped، وعمليات البناء (Expo EAS) بالفعل، ستأخذها من هيكل عظام إلى منتج مُشحن، وتملك كل إصدار يتبعه.
هذا دور عالي الملكية: أنت تحدد المعايير التقنية، وعملية الإطلاق، ومقياس الجودة الذي سيعيش به كامل كود الهاتف لسنوات.
ماذا ستفعل
بناء وشحن تطبيق KingoMart storefront (الكatalog، البحث، السلة، الدفع، الطلبات، الحساب) إلى كلا من App Store وGoogle Play.
تملك بنية الهاتف: التنقل، إدارة الحالة، استراتيجية عدم الاتصال/التخزين المؤقت، الروابط العميقة، والإشعارات المدفوعة موثقة في ADRs.
تملك هندسة الإصدارات: إنشاءات EAS، تقديم إلى المتجر، الإطلاق المرحلي، التحديثات عبر الهواء، مراقبة الأعطال، واستراتيجية التراجع.
الاندماج مع خلفيتنا FastAPI من خلال عميل TypeScript المشترك مولد OpenAPI.
تأسيس ممارسات الاختبار (وحدات، مكونات، ونهاية-إلى-نهاية) وفحوص CI التي تفرضها.
لاحقاً: بناء تطبيق لوحات الموردين على الأسس التي وضعتها: نظام تصميم مشترك، المصادقة، وطبقة API.
العمل جنباً إلى جنب مع مهندسينا الويب (React/TypeScript); تدفق مراجعة الشيفرة من كلا الجانبين.
الملف المرغوب فيه للمرشح
الخبرة - 5+ سنوات من هندسة البرمجيات، مع 3+ سنوات من React Native في الإنتاج وافية TypeScript قوية.
تم الإصدار والصيانة - على الأقل تطبيقان حيّان في كل من App Store وPlay Store مُحافظ عليهما من خلال إصدارات النظام، تغييرات سياسة المتجر، وعم على الأقل ترقية واحدة كبرى لـ React Native أو هجرة بنية.
نظام Expo - إعداد/تقديم/تحديث EAS، مكونات التكوين، البُنى التطويرية، التوليد Native المستمر.
القراءة والكتابة الأصلية - قادر على قراءة وكتابة Swift وKotlin الأساسية - بما يكفي لتصحيح عطل أصلي، كتابة مكون تكوين، أو تعبئة SDK أصلى.
التنقل والربط العميق - Expo Router أو React Navigation؛ الروابط العالمية/روابط التطبيق؛ توجيه الإشعارات.
الحالة والبيانات - حكم واضح حول حالة الخادم مقابل حالة العميل (مثلاً TanStack Query + مخزن عميل خفيف)، وتصميم حالة السلة والدفع.
عدم الاتصال والتخزين - تصفح يعتمد على التخزين المؤقت، تحديثات متفائلة مع التراجع، طُعينة mutations مع المزامنة والتعامل مع التعارض.
الإشعارات - End-to-end لـ FCM + APNs: UX الأذونات، دورة حياة الرموز، تصميم الحمولة، جميع حالات التطبيق الثلاث.
الأداء - تصور القوائم، قنوات الصور، قياس Hermes، زمن البدء، وتحليل إعادة العرض على أجهزة حقيقية.
الاختبار - Jest + React Native Testing Library؛ End-to-End مع Maestro أو Detox؛ رؤية متماسكة لما يجب اختباره في أي طبقة.
هندسة الإصدار - الإطلاق المرحلي، سياسة التحديث OTA وحدود سياسة المتجر، الإصدار، مراقبة الأعطال (Sentry أو ما شابه).
الأمان - Keychain/Keystore للرموز (ليس AsyncStorage)، معالجة روابط عميقة آمنة، إعلانات خصوصية المتجر.
من الجيد وجوده
خبرة بالذكاء الاصطناعي - الإلمام بتطبيقات مدعومة بالذكاء الاصطناعي، واجهات LLM APIs (مثلاً OpenAI)، ميزات مدعومة بالذكاء مثل المحادثة، التوصيات، البحث الدلالي، وهندسة التعليمات. وجود خبرة في دمج خدمات الذكاء الاصطناعي في التطبيقات المحمولة ميزة قوية.
خبرة في التجارة الإلكترونية أو تطبيق B2B؛ دمج SDK للدفع (Stripe، Adyen، أو ما شابه).
خبرة في Monorepo (Turborepo/Nx أو pnpm workspaces) مشاركة الكود مع تطبيقات الويب React.
ارتياح للمساهمة من حين لآخر في قواعد بيانات الويب React الخاصة بنا ( storefront Next.js، admin Vite).
تحليلات وتجربة في وتيرة إصدار الهاتف؛ ندبة من مراجعة متجر App Store / Play Store.
الوصولية (VoiceOver/TalkBack)، i18n/RTL (متجرنا يعرض الإنجليزية، الفرنسية، والعربية).
القدرة على قراءة Python بشكل جيد بما يكفي لفهم نقطة نهاية FastAPI.
خبرة في ترحيل بنية React Native الجديدة.
تقنياتنا (السياق، ليست متطلبات)
Storefront web: Next.js 16، React 19، TanStack Query، Tailwind، next-intl.
Admin panel: Vite + React + TypeScript، shadcn/ui.
Backend: FastAPI + PostgreSQL؛ عقد OpenAPI مع عملاء TypeScript مولدين.
Mobile (خاصتك): Expo SDK 57+، Expo Router، pnpm + Turborepo monorepo، EAS.