نظام عمليات لشركة تشغيل وصيانة مرافق موزعة على مسارات طرق سريعة، يحوّل بلاغات قروبات واتساب إلى حالات تشغيلية منظمة وقابلة للتتبع.
تدفق الحالة المستهدفWhatsApp Groups → Normalize → Classify → Assign → Notify عملية موحدة وقابلة للقياس
Inside the system
النظام كما يعمل فعليًا.
لقطات حقيقية من المنتج توضّح كيف تحوّلت العملية إلى واجهات تشغيل ورقابة مرتبطة بالبيانات والصلاحيات.
01
لوحة قيادة محكومة بالصلاحيات
تجمع البلاغات المفتوحة وتجاوزات المهلة والجولات المستحقة في شاشة واحدة، مع تنبيه واضح بأن كل تعديل يمر عبر مصفوفة RACI وسجل تدقيق.
02
خريطة تشغيلية للمواقع والمحاور
عرض جغرافي للمساجد الموزعة على محاور الطرق، مع تجميع المواقع وإبراز عدد البلاغات المتأخرة حسب المنطقة.
03
واجهة تعريفية مرتبطة بالبوابة الداخلية
مدخل عربي متكامل يعرّف بالشركة ويقود المستخدم المصرح له إلى البوابة التشغيلية الداخلية.
01
المشكلة
ما الذي كان يعطّل العمل؟
تصل البلاغات داخل قروبات واتساب قائمة يستخدمها فرق الميدان فعليًا، بينما لا تسمح واجهة Meta الرسمية بالدخول إلى تلك القروبات؛ فواجهة Groups API محدودة بثمانية مشاركين وتعمل بالدعوة فقط. كان المطلوب الحفاظ على قناة العمل الحالية دون جعلها نقطة ضعف دائمة في بنية النظام.
02
التشخيص
ماذا كشف تحليل العملية؟
أظهر التحليل أن المشكلة ليست في استقبال الرسالة فقط، بل في الخلط بين قناة التواصل ومصدر الحقيقة. القراءة من القروبات تحتاج قناة مرنة قابلة للاستبدال، أما الإشعارات الفردية فتحتاج قناة رسمية مستقرة، وكل ما بينهما يجب أن يعيش داخل قاعدة بيانات محكومة وقابلة للتدقيق.
03
إعادة التصميم
كيف تغيّر منطق التشغيل؟
فُصلت هوية الموقع المقروءة عن المفتاح الأساسي، وصُممت الإسنادات كسجل تاريخي بفترتي valid_from وvalid_to، واشتُقت الصلاحيات من جدول RACI. كما نُقلت المهل والنسب والحدود إلى جداول إعدادات بدل تثبيتها داخل الكود.
04
الأتمتة
ماذا أصبح يتحرك تلقائيًا؟
تقرأ session API القروبات بوصفها قناة قابلة للاستبدال، ثم تُطبّع كل رسالة فورًا داخل Postgres. يتولى Anthropic API التصنيف، وتنفذ Edge Functions العمليات، ويجدول n8n المهام، بينما تُرسل الإشعارات الفردية عبر واجهة Meta الرسمية المستقرة.
05
الأثر
ما النتيجة التشغيلية؟
أصبحت واتساب قناة إدخال لا مخزنًا للبيانات، مع فصل واضح بين القراءة والتسليم، وسجل زمني للمسؤوليات، وسياسات وصول مشتقة من التشغيل نفسه، وعمليات idempotent تمنع تكرار المعالجة. بُني النظام بالكامل عبر Claude Code من مواصفات مكتوبة مسبقًا، ضمن جولات متسلسلة تعرض التصميم قبل كتابة الكود.