تخطَّ إلى المحتوى

محمد بني

مهندس روبوتات ومطوّر ويب Full-Stack

حلب، سوريا

أبني أنظمة يُقاس نجاحها في الميدان لا في المحاكاة: روبوتات ذاتية التنقّل، والأنظمة المدمجة التي تُشغّلها، ومنصّات الويب وقواعد البيانات التي تصل مكوّناتها ببعضها.

01 / نبذة

حيث تلتقي البرمجيات بالعتاد

محمد بني، مهندس روبوتات ومطوّر ويب Full-Stack، حلب، سوريا

أنا محمد بني، مهندس روبوتات ومطوّر ويب سوري مقيم في حلب. عملي يقع عند الحدّ الذي تتقاطع فيه البرمجيات مع العتاد. الروبوتات الخدمية التي أبنيها تعمل على ROS 2 Jazzy، وأكتب برامجها بلغتَي C++ و Python للتعامل مع مستشعرات حقيقية: مسح ليزري يغذّي خوارزميات التموضع وبناء الخرائط الآني (SLAM)، وبيانات بطارية تصل عبر RS-485 بتوقيت غير منتظم، وحلقات تحكّم يجب أن تبقى مستقرّة حين تتأخّر البيانات أو يخالطها ضجيج.

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

أمّا في الويب فأبني المنظومة كاملة: أنظمة خلفية (Backend) بـ .NET Core و FastAPI، وواجهات أمامية بـ SvelteKit و TypeScript، ومخطّطات بيانات على PostgreSQL و SQL Server، مع بيئة النشر عليها من Docker و Linux. أعتمد Domain-Driven Design و CQRS حين يستحقّان كلفتهما لا قبل ذلك. وأقرب أجزاء العمل إلى نفسي هو تصميم نموذج البيانات، لأنّ بنية البيانات هي التي تحدّد سقف ما يمكن للتطبيق أن يصير إليه.

لمحة سريعة
الإقامة
حلب، سوريا · التوقيت GMT+3
الجاهزية
العمل عن بُعد أو الانتقال إلى مقرّ العمل
الوظيفة الحالية
مهندس روبوتات في SWB AI
العمل المستقل
تطوير ويب Full-Stack · متاح لمشاريع جديدة
المؤهل العلمي
بكالوريوس في الهندسة الكهربائية · جامعة حلب · 2026
لغات البرمجة
C++ · C# · Python · TypeScript · SQL
اللغات
العربية (اللغة الأم) · الإنكليزية (إجادة مهنية)
02 / الأعمال

مختارات من الأعمال

روبوت في خدمة يومية بين الناس، ومتحكّم لا يُسمح له بالفشل إلا فشلاً آمناً، وسبع سنوات من العمل على البنية التقنية لمسابقات البرمجة.

01 روبوتات

روبوت (منارة)

SWB AI · المسجد الحرام بمكة المكرّمة والمسجد النبوي الشريف بالمدينة المنوّرة

روبوت إرشادي ذاتي التنقّل يخدم قاصدي المسجد الحرام والمسجد النبوي الشريف، ويجيب عن أسئلتهم في المناسك والاتجاهات بإحدى عشرة لغة. يعمل في واحد من أكثر الأماكن ازدحاماً بالمشاة في العالم، وعليه أن يؤدّي المهمّتين معاً دون تدخّل بشري.

مساهمتي التقنية
  1. 1

    لوحة تحكّم عبر إنترنت الأشياء (IoT) بخريطة لحظية

    واجهة ويب متّصلة بالروبوت لإدارته ومتابعة الخريطة وهي تُبنى لحظة بلحظة. إرسال شبكة الإشغال (Occupancy Grid) كاملة في كل إطار كان يستهلك من الشبكة أكثر مما تحتمل، فصار الروبوت يرسل الخلايا التي تغيّرت منذ الإطار السابق فقط، وهو ما يُبقي تحديث الخريطة فورياً دون تأخّر ملحوظ على وصلة شبكة عادية.

  2. 2

    حزمة إدارة البطارية بـ ROS 2 Jazzy و C++

    بنيتُ حزمة إدارة البطارية وحسّنتُ أداءها: قراءة بيانات نظام إدارة البطارية (BMS) عبر RS-485، وضبط تأطير البروتوكول بحسب توقيت العتاد، ونشر بيانات موثوقة عن حالة الشحن (SoC) وسلامة البطارية (SoH) تعتمد عليها بقيّة المنظومة.

  3. 3

    ضبط SLAM للحصول على مسار أكثر سلاسة

    حسّنتُ إعدادات SLAM حتى استقرّ تقدير الموضع وتوقّف تذبذبه، فصار المتحكّم يتبع مساراً سلساً فعلاً بدلاً من التصحيح المستمرّ لضجيج تقديره الخاص. والفرق ملحوظ بالعين المجرّدة لمن يقف إلى جانب الروبوت.

  4. 4

    دمج المستشعرات وتشغيل الأنظمة المدمجة

    تشغيل منظومة الحوسبة والاستشعار على Orange Pi 5 Max و Raspberry Pi: ماسح الليزر الدوّار RPLidar، ومصفوفة المستشعرات فوق الصوتية، والأجهزة التسلسلية، مع إبقائها مستقرّة عبر دورات إطفاء التغذية وتحديثات البرمجية الثابتة (Firmware).

وحدة (منارة) تجيب أحد الزوّار داخل المسجد الحرام
وحدة (منارة) تجيب أحد الزوّار داخل المسجد الحرام
زوّار يستخدمون شاشة الإرشاد باللمس
زوّار يستخدمون شاشة الإرشاد باللمس
حزمة التقنيات
ROS 2 Jazzy · C++ · Python
الحوسبة
Orange Pi 5 Max · Raspberry Pi
المستشعرات والنواقل
RPLidar C1 · مصفوفة مستشعرات فوق صوتية · بيانات البطارية عبر RS-485 بتأطير مضبوط على توقيت العتاد
02 ويب Full-Stack منشور ويعمل

swbai.com

SWB AI · الموقع الرسمي ومنصّة المنتجات

الموقع الرسمي لشركة SWB AI، وهي الشركة التي أبني روبوتاتها. طوّرته بالكامل: الواجهة الأمامية، وواجهة برمجية بـ Node.js، وقاعدة بيانات PostgreSQL، وبنية المحتوى والنشر.

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

مساهمتي التقنية
  1. 1

    واجهة أمامية بـ SvelteKit مع توليد من جهة الخادم

    الصفحات تُولَّد من جهة الخادم (SSR) ليصل المحتوى داخل HTML إلى محرّكات البحث وإلى الزائر على اتصال بطيء، ثم تُفعَّل الأجزاء التفاعلية بعد ذلك.

  2. 2

    واجهة برمجية بـ Node.js وقاعدة PostgreSQL

    نظام خلفي بـ Node.js فوق مخطّط PostgreSQL مصمّم حول المحتوى الذي يحرّره فريق التسويق فعلاً، بدلاً من قالب إدارة محتوى عام لا يناسب أحداً تماماً.

  3. 3

    ثنائية اللغة عربي/إنكليزي مع دعم RTL

    كل تخطيط يعمل في الاتجاهين. دعم الكتابة من اليمين مسألة تخطيط لا مسألة ترجمة، لذلك بُنيت المكوّنات من أجله منذ البداية.

  4. 4

    مبني لظروف الشبكة التي يُتصفَّح منها

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

  • SvelteKit
  • Node.js
  • PostgreSQL
  • SSR
  • دعم الكتابة من اليمين (RTL)
  • تصميم متجاوب
  • SEO
03 برمجة تنافسية

ACPC · مسابقة حلب الجامعية للبرمجة

سبع سنوات في المسابقة من مواقعها كلّها

خضتُ البرمجة التنافسية من مواقعها كلّها: متسابقاً، ثم مدرّباً، ثم عضواً في الفريق التقني الذي يبني البنية التي تقوم عليها المسابقة.

وعلى الجانب التقني يعني ذلك: عنقود خواديم تحكيم PC² 9.10، وإعداد المحكّمات الآلية (Auto Judges)، ولوحة النتائج المباشرة، ونظام توزيع البالونات، وأداة Resolver في الحفل الختامي. وكتبتُ كذلك الأداة التي تستورد المسائل مباشرة من Polygon إلى PC² مع اختباراتها ومدقّقاتها وحدودها الزمنية، فاختصرت يوماً كاملاً من الإعداد اليدوي إلى أمر واحد.

  • PC² 9.10
  • Bash
  • Python
  • Polygon
  • Linux
الأدوار التي شغلتها
  • متسابق

    المسابقة السورية الجامعية للبرمجة، والتصفيات الإقليمية لمسابقة ICPC، منذ سنوات الدراسة الجامعية.

  • مدرّب

    تدريب فرق جامعة حلب منذ 2022 عبر ورش عمل وجلسات فردية وخطة تدريب مُهيكَلة من 200 مسألة.

  • عضو الفريق التقني

    عنقود التحكيم، والمحكّمات الآلية، ولوحة النتائج، وتوزيع البالونات، وأداة Resolver.

  • مختبِر مسائل

    مراجعة نصوص المسائل، والتحقّق من بيانات الاختبار والحلول المرجعية قبل يوم المسابقة.

  • محكّم

    التحكيم في مسابقة إدلب الجامعية للبرمجة.

أعمال أصغر

سُلّمت أيضاً
  • PLC برمجة بمخطّط السلّم (Ladder) على Delta DVP: خط فرز وتحكّم تسلسلي بأحزمة النقل
  • أنظمة خلفية واجهة برمجية (API) لتتبّع الطلاب: FastAPI و PostgreSQL وعمليات كتابة لا تتضاعف عند إعادة التنفيذ (Idempotent)
  • روبوتات عارض لشبكة الإشغال على ROS 2 يرسم خريطة الكلفة لحظياً بتردّد 10 Hz
  • عمل مستقل كتالوجات منتجات مع توليد رموز QR وتحليلات للاستخدام
03 / الأنظمة

تصميم الأنظمة وقواعد البيانات

قرارات معمارية اضطررت إلى الدفاع عنها، ومعها كلفة كل قرار. ولا قيمة للحديث عن البنية المعمارية دون ذكر ما تنازلنا عنه مقابلها.

ضبط الكتابة وتسريع القراءة

Elkood · ‎.NET Core مع Domain-Driven Design و CQRS

المشكلة

نظام خلفي تؤدّي فيه النماذج ذاتها دورين معاً: قواعد عمل معقّدة، ونقاط نهاية (Endpoints) قراءة عالية الحمل. تسرّبت قواعد سلامة النموذج (Invariants) إلى مسارات الاستعلام، وصار أداء القراءة رهينةً لنموذج الكتابة.

المعالجة
  1. 1 سياقات محدَّدة (Bounded Contexts)، وكيانات تجميعية (Aggregates) تحرس قواعدها بنفسها، فلا تتغيّر الحالة إلا من خلال نموذج المجال.
  2. 2 الأوامر (Commands) تكتب عبر نموذج المجال، والاستعلامات (Queries) تتجاوزه كلياً وتقرأ من نماذج قراءة (Projections) مبنية لهذا الغرض.
  3. 3 قياس أداء المسارات الأكثر تحميلاً وإعادة بنائها: إزالة استعلامات N+1، وفهارس موجّهة بدقّة، وتخزين مؤقت (Caching) حيث تحتمل البيانات تقادُماً محدوداً.
  4. 4 توثيق عقود الواجهات البرمجية وإصدارها، حتى تعمل فرق الواجهة الأمامية دون انتظار فريقنا.
المقايضة

كلفة CQRS نموذجٌ ثانٍ يجب إبقاؤه متزامناً، وهو خيار خاطئ فعلاً في تطبيق CRUD بسيط. لكنه برّر كلفته هنا، لأنّ شكلَي القراءة والكتابة كانا قد تباعدا أصلاً، فكنّا ندفع الثمن دون أن نجني الفائدة.

تصميم مخطّط قاعدة البيانات قبل التطبيق

نمذجة بيانات · PostgreSQL و SQL Server

المشكلة

مهامّ المزامنة واتصالات الأجهزة المحمولة المتقطّعة كانت تؤدّي إلى وصول عملية الكتابة نفسها مرّتين، واستعلامات تقارير تعمل جيداً عند مئة سجل وتنهار عند مئة ألف.

المعالجة
  1. 1 عمليات إدراج/تحديث لا تتغيّر نتيجتها عند التكرار (Idempotent Upserts) مبنية على مفتاح عمل طبيعي، فتنتهي إعادة المزامنة إلى النتيجة ذاتها بدل أن تُضاعف السجلات.
  2. 2 فهارس مختارة من أشكال الاستعلامات التي تُنفَّذ فعلاً، ثم مُتحقَّق منها بخطة التنفيذ (Execution Plan) لا بأسماء الأعمدة.
  3. 3 تطبيع (Normalization) حيث تهمّ صحّة البيانات، وإلغاء تطبيع مقصود وموثَّق حيث يهمّ زمن القراءة أكثر.
  4. 4 ترحيلات (Migrations) مُرقَّمة بإصدارات وقابلة للتراجع، وقيود مفروضة في قاعدة البيانات نفسها لا في كود التطبيق وحده.
المقايضة

القيود داخل قاعدة البيانات تجعل بعض عمليات النشر أصعب وبعض الكتابات أبطأ. وأقبل هذه المقايضة في كل مرّة، لأنّ كود التطبيق يُعاد كتابته، أمّا البيانات فتبقى بعده.

04 / المشروع الأكاديمي

مشروع التخرّج

أفردتُه عن أعمال العملاء عن قصد. هذا هو المشروع الجامعي، وفيه تُطبَّق نظرية التحكّم تطبيقاً فعلياً.

جامعة حلب أكاديمي

تحكّم تكيّفي في تقاطع مروري

مشروع التخرّج · جامعة حلب

إشارة مرور تحدّد توقيتها بنفسها من كاميرا واحدة بدلاً من جدول زمني ثابت. يكشف YOLOv11n المركبات، ثم يحوّل التتبّع بمعيار IoU مع تنعيم EMA نتائج الكشف إلى تقدير مستقرّ لطول الطابور عند كل مدخل، ويختار متحكّم إشرافي مبني على نظرية Max-Pressure الطور الذي يأخذ الضوء الأخضر.

وتحت ذلك كلّه آلة حالات منتهية (FSM) تتولّى قرارات السلامة: حدّ أدنى لزمن الأخضر، وفترة إخلاء بإشارة حمراء لكل الاتجاهات، وتوقيت ثابت كخطة بديلة. وإن أخطأت طبقة الرؤية أو تعثّرت أو توقّفت تماماً، يبقى سلوك التقاطع سليماً. يعمل النظام على ESP32 مع لوحة إلكترونية مصمّمة خصيصاً لقيادة كشّافات الإشارة.

  • YOLOv11n
  • OpenCV
  • Python
  • ESP32
  • لوحة إلكترونية مخصّصة (PCB)
  • طبقة سلامة (FSM)
  • Max-Pressure

بإشراف الدكتور حسّان الندّاف

طريقة التنفيذ
الإدراك
كشف بـ YOLOv11n مع تتبّع IoU وتنعيم EMA
التحكّم
متحكّم إشرافي قائم على Max-Pressure يعمل على مجموعة أطوار
السلامة
آلة حالات (FSM): حدّ أدنى للأخضر، وإخلاء بالأحمر، وتوقيت بديل
العتاد
ESP32 ولوحة إلكترونية مخصّصة تقود كشّافات الإشارة
05 / المهارات

التقنيات التي أعمل بها

مرتّبة حسب نوع المشكلة الهندسية لا حسب لغة البرمجة، وكل ما ورد هنا استخدمتُه في مشروع فعلي.

الروبوتات والأنظمة المدمجة

01
  • ROS 2 Jazzy: العقد (Nodes) والمواضيع (Topics) والخدمات و TF
  • ملاحة ذاتية ودمج بيانات المستشعرات (Sensor Fusion)
  • ESP32 و AVR وبرمجة العتاد المباشرة (Bare-metal)
  • تشغيل Orange Pi 5 Max و Raspberry Pi
  • RPLidar C1 ومصفوفات مستشعرات فوق صوتية وأنظمة إدارة بطاريات (BMS)
  • تصميم اللوحات الإلكترونية (PCB) وتشخيص أعطال العتاد

إنترنت الأشياء والأنظمة المتصلة

02
  • نواقل حقلية: RS-485 و UART و I²C و SPI
  • تأطير حِزَم البروتوكولات وفق توقيت العتاد
  • تجميع بيانات القياس عن بُعد (Telemetry) ومراقبة الأجهزة
  • تشغيل نماذج الاستدلال على أجهزة طرفية محدودة الموارد (Edge Inference)
  • شبكات المستشعرات واكتساب البيانات
  • إدارة البطاريات وقياسات الطاقة

الأنظمة الخلفية (Backend) وتصميم المنظومات

03
  • C# و ‎.NET Core، Python و FastAPI
  • Domain-Driven Design و CQRS
  • تصميم واجهات REST وإصداراتها وتوثيقها
  • مصادقة JWT وإصدار المفاتيح وتدويرها
  • التخزين المؤقت وتحسين المسارات الأكثر تحميلاً
  • Docker و Linux و Git و CI/CD

قواعد البيانات ونمذجتها

04
  • PostgreSQL و SQL Server
  • تصميم المخطّطات والتطبيع (Normalization)
  • فهرسة مبنية على أشكال الاستعلامات الفعلية
  • تحليل خطط التنفيذ وضبط الأداء
  • عمليات كتابة لا تتضاعف عند التكرار (Idempotent) وترحيلات مُرقَّمة بإصدارات
  • المعاملات والتزامن والقيود

الويب والواجهات الأمامية

05
  • SvelteKit و TypeScript
  • Tailwind CSS وأنظمة التصميم
  • Capacitor للتوزيع على Android
  • واجهات متجاوبة وميسّرة الوصول (Accessibility)
  • الأداء ومؤشرات Core Web Vitals
  • نشر ساكن ونشر بالتوليد من جهة الخادم (SSR)

الرؤية الحاسوبية والخوارزميات

06
  • YOLO v8 و v11 وضبط الاستدلال على الأجهزة الطرفية
  • OpenCV وتتبّع IoU وتنعيم EMA
  • هياكل البيانات والخوارزميات
  • نظرية المخطّطات (Graph Theory) والبرمجة الديناميكية
  • تحليل التعقيد الحسابي والتحسين
  • برمجة تنافسية على مدى سبع سنوات
06 / الخبرة

الخبرة العملية والتعليم

يناير 2026 – حتى الآن
حالياً

مهندس روبوتات

SWB AI · حلب، سوريا

  • بناء وبرمجة روبوتات خدمية ذاتية التنقّل على ROS 2 Jazzy، منها وحدات (منارة) العاملة في المسجد الحرام بمكة المكرّمة والمسجد النبوي الشريف بالمدينة المنوّرة.
  • كتابة طبقة الوصل البرمجية بلغتَي C++ و Python، وهي التي تقرأ بيانات نظام إدارة البطارية (BMS) والمستشعرات فوق الصوتية عبر RS-485 وتنشرها في مواضيع (Topics) ROS 2.
  • تنفيذ بروتوكولات تسلسلية ومعالجة أخطائها، وضبط توقيت العتاد للحصول على تأطير موثوق لبيانات البطارية.
  • تشغيل الأنظمة المدمجة وتحسينها على Orange Pi 5 Max و Raspberry Pi مع RPLidar.
مستمرّ حتى الآن
حالياً

مطوّر ويب Full-Stack

عمل مستقل (Freelance) · عن بُعد

  • تصميم وتسليم منتجات ويب كاملة: الواجهة البرمجية، وقاعدة البيانات، والواجهة الأمامية، والنشر.
  • أنظمة خلفية بـ ‎.NET Core و FastAPI، وواجهات أمامية بـ SvelteKit و TypeScript.
  • تصميم مخطّطات PostgreSQL و SQL Server واستراتيجيات الفهرسة والترحيل.
يونيو 2023 – أغسطس 2024

مطوّر أنظمة خلفية ومصمّم قواعد بيانات

Elkood · حلب، سوريا

  • تصميم وصيانة خدمات ‎.NET Core باعتماد Domain-Driven Design و CQRS.
  • تصميم وتحليل المخطّطات العلائقية التي تقوم عليها تلك الخدمات: التطبيع، واستراتيجية الفهرسة، وتخطيط الترحيل.
  • بناء وتوثيق الواجهات البرمجية لفرق الواجهة الأمامية، بما حسّن التكامل بين المنتجات.
  • تقليص زمن الاستجابة في المسارات الأكثر تحميلاً بإعادة صياغة الاستعلامات وضبط الفهرسة والتخزين المؤقت.
  • مراجعة كود فريق الأنظمة الخلفية بالكامل، وإرساء معايير معمارية موحّدة.
يناير 2022 – حتى الآن
حالياً

مدرّب حلّ المسائل البرمجية

جامعة حلب · حلب، سوريا

  • تدريب الطلاب على مسابقات بنمط ICPC عبر ورش عمل وجلسات فردية وخطة تدريب مُهيكَلة من 200 مسألة.
  • عضو الفريق التقني لمسابقة حلب: نظام التحكيم والبنية التشغيلية يوم المسابقة.
  • تصميم أدوات تقييم لقياس تقدّم الطلاب بين الدفعات.
2019 – 2026
مؤهل علمي

بكالوريوس في الهندسة الكهربائية

جامعة حلب · حلب، سوريا

  • تخرّجت عام 2026 من قسم التحكّم الآلي والأتمتة الصناعية، وهو مصدر خلفيّتي في نظرية التحكّم التي يستند إليها عملي في الروبوتات.
  • مشروع التخرّج: تحكّم تكيّفي في تقاطع مروري، وتفاصيله في القسم المخصّص له أعلاه.
07 / المسابقات

البرمجة التنافسية

أدرّب على البرمجة التنافسية منذ 2022، وأعمل ضمن الفريق التقني الذي يقف خلف ACPC، مسابقتنا المنتسبة إلى ICPC. ولا أعرف طريقة أسرع من التدريس لاكتشاف حدود فهمي الحقيقي.

البنية التقنية للمسابقة

ACPC · منتسبة إلى ICPC

ضمن الفريق التقني أعمل على المنظومة التي تقوم عليها المسابقة: عنقود خواديم تحكيم PC² 9.10، وإعداد المحكّمات الآلية، ولوحة النتائج المباشرة، ونظام توزيع البالونات، وأداة Resolver في الحفل الختامي. وكتبتُ الأداة التي تستورد المسائل مباشرة من Polygon إلى PC² مع اختباراتها ومدقّقاتها وحدودها الزمنية، فاختصرت يوماً كاملاً من الإعداد اليدوي إلى أمر واحد.

مدرّب ومحكّم ومتسابق

@Legends_Never_Die

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

08 / التواصل

هل لديك روبوت أو نظام مدمج أو منصّة ويب تحتاج إلى من يجعلها تعمل كما يجب؟

أعمل مهندسَ روبوتات بدوام كامل، وأتولّى مشاريع تطوير الويب Full-Stack بصفة مستقلّة. واتساب أسرع وسيلة للوصول إليّ، وأحرص على الردّ على كل رسالة بريد إلكتروني.

Instagram
@mohammdbenni
مكان الإقامة
Aleppo, Syria