هيثم العسولي

المشروع

كل المشاريع

صوت

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

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

صوت

الحقائق

الدور
منفردًا: الموبايل والخادم
السنة
2025
الحالة
صدر
التصنيف
الجوّال

بُني بـ

  • React Native
  • TypeScript
  • OTP verification
  • Firebase
  • Zustand
  • React Query
  • Reanimated
  • Restyle
  • Zod

أين تجده

نظرة عامة

ما هو، ولماذا وُجد.

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

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

المشكلات

التحديات

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

المشكلة

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

ما فعلته

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

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

المشكلة

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

ما فعلته

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

بعد ذلك

النتائج

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

لقطات

بعض الشاشات.

صوت — 1
صوت — 2
صوت — 3
صوت — 4
صوت — 5

التالي

المشروع التالي

خير

تبرّع مباشرةً للمحتاجين.