هيثم العسوليRead this page in Arabicاقرأ هذه الصفحة بالإنجليزية
كل المشاريع

صدرالجوّال2025

صوت

أتمتة العملية الانتخابية، من التصويت إلى النتائج.

تطبيق يُرقمن العملية الانتخابية من طرف إلى طرف: تسجيل الناخبين، والدخول بهوية مُتحقَّق منها، والإدلاء بالصوت، وإعلان النتائج. مبني للشفافية في كل مرحلة.

صوت: أتمتة العملية الانتخابية، من التصويت إلى النتائج.
الدور
منفردًا: الموبايل والخادم
السنة
2025
الحالة
صدر
بُني بـ
  • React Native
  • TypeScript
  • OTP verification
  • Firebase
  • Zustand
  • React Query
  • Reanimated
  • Restyle
  • Zod

التصويت أقلّ ما يُبنى تسامحًا. فالخلل في تطبيق عادي يزعج شخصًا؛ والخلل هنا يُبطل نتيجة ومعها الثقة.

يغطي «صوت» الدورة كلها: يسجّل الناخبون ويدخلون حساباتهم بهوية مُتحقَّق منها، ويدلون بأصواتهم، وتُعلن النتائج عبر النظام نفسه. وكانت الأولوية الهندسية طوال العمل أن تكون كل مرحلة قابلة للتحقق لا سريعة فحسب.

التحديات

  • شخص واحد وصوت واحد على جهاز لا تتحكم به

    العقبة

    يستطيع أي أحد تثبيت التطبيق مرتين، على هاتفين، برقمين. فالهوية القائمة على الجهاز ليست هوية، وفحوص جانب العميل تُتجاوَز ببساطة.

    ما الذي فعلته

    تُربط الأهلية بهوية مُتحقَّق منها تُفحص على الخادم عبر رمز لمرة واحدة، ويفرض سجل الاقتراع نفسه التفرّد لكل ناخب في كل انتخاب. ويُعامَل الجهاز كغير موثوق طوال الوقت.

  • الجميع يصوّت في الساعة الأخيرة

    العقبة

    حركة الانتخاب ليست منتظمة: لا شيء لأيام ثم كل شيء دفعة واحدة قبيل الإغلاق. والنظام الذي يعمل في الاختبار قد ينهار في اللحظة التي تهمّ بالضبط.

    ما الذي فعلته

    تُبقى عمليات الكتابة صغيرة وعديمة الأثر التكراري فلا يستطيع إرسال مُعاد أن يُحسب مرتين، وتُقدَّم قراءات النتائج من تجميعات لا بإعادة حسابها مع كل طلب.

النتائج

  • منشور على Google Play.
  • هوية مُتحقَّق منها وفرض صوت واحد لكل ناخب على الخادم.

لقطات من الشاشة

التصميم التالي — الإشارةشاهد التصاميم الـ14