ZED (تذكيراتي الإسلامية)
تطبيق للأجهزة المحمولة بالإضافة إلى لوحة تحكم إدارية عبر الويب لبث التذكيرات الإسلامية متعددة اللغات وفق الجدول الشخصي لكل مستخدم، مع سرد صوتي مولد آلياً وتحليلات تسليم شاملة.
Expo (React Native)
Next.js
Convex
OpenAI TTS
TanStack Table
Recharts

نظرة عامة
تُعد ZED منصة للمحتوى الروحي والتذكيرات مبنية كمستودع أحادي (monorepo) يتألف من ثلاثة أجزاء تشترك في خادم خلفي واحد: تطبيق Expo للهواتف المحمولة للمستخدمين النهائيين، ولوحة تحكم إدارية بـ Next.js للمشرفين، وخادم خلفي عبر Convex يختص بحفظ البيانات والجدولة والإشعارات والتحليلات وتوليد الصوت. ترسل المنصة للمستخدمين رسائل إسلامية قصيرة في التوقيت المحلي المفضل لكل منهم، وباللغة التي يختارونها، مع تحويل كل رسالة تلقائياً إلى مقطع صوتي مروي يتميز بمزامنة وتظليل الكلمات المقروءة بالتزامن مع التشغيل.
المشكلة
لم يكن التحدي الحقيقي في هذا المنتج يكمن في عرض المحتوى، بل في التنسيق المتكامل للعمليات. يرغب المستخدمون في استلام الرسائل في توقيت محدد بدقة وفق مناطقهم الزمنية، بإحدى اللغات المتعددة بما فيها اللغات المكتوبة من اليمين إلى اليسار. كما ينبغي إمكانية استهلاك كل رسالة كنص، أو كمقطع صوتي، أو كمحتوى قابل للمشاركة. ويحتاج المديرون إلى رؤية ما يجري فعلياً: ما تم تسليمه وعرضه وتشغيله، وما إذا كان توليد الصوت يواكب الطلب. وعندما يفوت أحدَهم محتوى معين، يتعين على النظام المتابعة تلقائياً. يكمن العمل الحقيقي هنا في دمج الجدولة، واختيار اللغة، وتوليد الصوت، والإشعارات اللحظية، والتحليلات في نظام متماسك واحد.
دوري ومنهجية العمل
كان هذا المشروع عملاً جماعياً بقيادة مهندس آخر في المقام الأول، وساهمت فيه كأحد المطورين ضمن الفريق. وقد تركزت مساهمتي على نطاقات محددة ضمن بنية معمارية ترتكز على Convex كمصدر وحيد وموثوق للحقيقة تشترك فيه تطبيقات الهواتف ولوحة الإدارة معاً. وتقوم فلسفة التصميم المتبعة في الشيفرة البرمجية على تولي الخادم الخلفي لتنسيق كافة العمليات (Orchestration)، بما في ذلك الجدولة ومحاولات الإعادة ومهام توليد الصوت والتحليلات، بينما تظل الواجهتان الأماميتان خفيفتين وتعتمدان على واجهة برمجة التطبيقات المولدة تلقائياً.
الحزمة التقنية
الميزات الرئيسية
معرض الصور


التحديات والحلول
يمثل تسليم الإشعارات اللحظية الجوهر التقني الأكثر تطلباً في المنتج؛ فنظراً لإرسال التذكيرات لكل مستخدم وفق منطقته الزمنية وجدوله المحدد، يتولى الخادم الخلفي التسليم من خلال مهام مجدولة (cron jobs) عبر Convex ومجموعة معالجة خلفية بدلاً من المشغلات اللحظية غير المنظمة، مع تتبع مؤشرات المحاولة مقابل نشاط كل مستخدم لمتابعة المحتوى الفائت تلقائياً.
يُعد توليد الصوت المكون الديناميكي الآخر الذي يتطلب موثوقية عالية مستمرة. فتوليد الصوت من النصوص يستغرق وقتاً وقد يتعرض للفشل؛ لذا يتم تتبع حالة التوليد وعدد محاولات الإعادة لكل محتوى مترجم بشكل مستقل، مع تمكين المديرين من مراقبة التقدم وإعادة تشغيل المهام المتوقفة من لوحة التحكم. كما تم دمج تتبع التفاعل — الذي يسجل أحداث التسليم والمشاهدة والتشغيل مع الطوابع الزمنية — مباشرة في نموذج البيانات، مما يتيح استخراج التقارير مباشرة من مستودع البيانات ذاته دون الحاجة إلى مسار تحليلات منفصل.
النتيجة
ZED هو نظام متكامل متعدد المنصات، حيث يقود خادم خلفي واحد قائم على Convex كلاً من تطبيق الأجهزة المحمولة ولوحة تحكم العمليات. يتولى النظام جدولة الرسائل المخصصة والمتعددة اللغات والمروية صوتياً تلقائياً، ويصدر تقارير دقيقة حول كل مرحلة من مراحل تسليمها. ويُعد نموذجاً قوياً لهندسة المنتجات المعتمدة على التنسيق المتقدم للعمليات (Orchestration)، حيث ينفذ الخادم الخلفي مهام الجدولة ومعالجة الوسائط المعقدة لتبقى التطبيقات سلسة وبسيطة.
هل تواجه تحدياً تقنياً مشابهاً في منتجك؟
شاركني الوضع الحالي للمنتج، والنتيجة المطلوبة، والمعوقات القائمة. وسأعتمد على ذلك في تحديد محطة تسليم أولى منطقية وعملية.
وظّف مطور Full-Stack