عن المشروع
الحملات الانتخابية تقوم على التنسيق. المندوبون يحتاجون لتسجيل حضورهم، والفرق تحتاج لمعرفة أين رجالها، والمنظّمون يحتاجون قوائم تبقى دقيقة بينما تتغير آلاف التفاصيل في آن واحد.
الأدوات المتاحة كانت تؤدي الغرض حتى يوم الانتخاب — ثم تنهار، في اللحظة التي يكون فيها الفشل أباهظ ثمناً. بُنيت صدى لحل المشكلة التي لم يحلها أحد: التوسّع تحت حمل مركّز لا يرحم.
صدى كانت مشروع سبرنت الخاص، بُنيت وشُغّلت داخلياً.
كيف بنيناها
المرحلة الأولى — منتج أولي يختبر الفكرة
أطلقنا أصغر شيء يمكن أن يثبت الفكرة: صفحات بسيطة يسجّل فيها المندوب حضوره ويرى فوراً لجنته الانتخابية، مع تقارير قابلة للطباعة والتوزيع. كافٍ للتعلّم منه، ورخيص بما يكفي لأن نكون مخطئين فيه.
المرحلة الثانية — الاختيار المباشر من أي جهاز
نجح المنتج الأولي، فعمّقناه. أصبح بإمكان المؤثّرين التعامل مع قاعدة البيانات مباشرة، والاطلاع على الأفراد في النظام، والاختيار من خلال جوالاتهم. توقفت صدى عن كونها مجموعة صفحات وصارت تطبيقاً حقيقياً يعمل من أي مكان.
المرحلة الثالثة — أدوار المندوبين والإشراف
أضفنا دوراً مخصصاً لمندوبي المدارس يمكّنهم من متابعة أداء المندوبين وتحركاتهم لحظة بلحظة. وكل إصدار كان يتشكل وفق ما تطلبه الحملات فعلياً أثناء الاستخدام الحي.
التحدي التقني الذي يستحق الحديث
حركة يوم الانتخاب ليست حركة عادية. تأتي دفعة واحدة، في نافذة تُقاس بالساعات، ولا توجد فرصة ثانية. وهنا تحديداً كانت المنصات المنافسة تنهار.
تعاملنا مع قابلية التوسّع بوصفها قراراً معمارياً لا تحسيناً يُؤجّل — فاخترنا MongoDB وNode.js وRedis تحديداً لأنماط القراءة والكتابة التي ينتجها يوم الانتخاب، وصمّمنا البنية التحتية حول ذروة الحمل لا حول متوسطه.
النتيجة
خدمت صدى ٤٩ حملة انتخابية على مدى عمرها، وأدارت ٢٢ منها في وقت واحد في ذروة الضغط، وبقيت مستقرة عبر ثلاث دورات انتخابية متتالية، وسجّلت صفر حالات انقطاع تحت الحمل الكامل.
والدرس انتقل إلى كل ما بنته سبرنت بعدها: قرارات البنية التحتية التي تُتخذ في البداية هي التي لا يمكن تداركها لاحقاً.