المشكلة
العميل شركة لوجستيات سعودية ممولة تدخل سوق التوصيل في نفس اليوم. ميزتهم التنافسية: شبكة سائقين موثوقين في ثلاث أحياء بالرياض يضمنون توصيل خلال 90 دقيقة. ما ينقصهم: التقنية لتنسيق ذلك.
خطتهم الأولية كانت بناء تطبيقات native منفصلة — فريق iOS وفريق Android. بعد أن جاء أول عرض بضعف ميزانيتهم وـ28 أسبوعاً، جاؤونا يبحثون عن نهج مختلف.
ما بنيناه
ثلاثة تطبيقات Flutter متصلة تشترك في خلفية Laravel واحدة: تطبيق عميل لتقديم وتتبع الطلبات، تطبيق سائق لقبول التوصيل والتنقل، ولوحة admin ويب للإشراف على العمليات. الثلاثة تتزامن في الوقت الفعلي عبر WebSockets.
تخطيط RTL العربي صُمِّم أولاً. غالبية مستخدمي العميل سعوديون ناطقون بالعربية، وكل شاشة صُمِّمت بالعربية قبل اشتقاق النسخة الإنجليزية منها — لا العكس.
لماذا Flutter لا Native
قرار Flutter لم يكن بدوافع ميزانية فقط — بل جدول زمني وصيانة. بقاعدة كود واحدة، كل ميزة تُشحن للمنصتين في آنٍ واحد. لا تباين في الإصدارات، لا دورات bug fix منفصلة. تطبيقات Flutter في السوق السعودي تعمل بنفس الجودة على iPhone 16 Pro وSamsung A25 الاقتصادي.
النتيجة
قُبل التطبيق في App Store وGoogle Play في الأسبوع الثاني عشر — كلاهما من أول تقديم. 10,000 تنزيل في الشهر الأول تجاوز توقعات العميل بثلاثة أضعاف. تقييم 4.8 نجمة بعد 200+ مراجعة، أكثر التعليقات العربية الإيجابية تذكر سلاسة تجربة RTL.