مطوّرة مستقلة
أبني أشياء، ويهمّني أن تعمل فعلاً.
مطوّرة مستقلة: ألعاب، وتطوير ويب شامل، وميزات ذكاء اصطناعي، وتصميم. أصل إلى نسخة تعمل بسرعة، ثم أعود إلى الأجزاء التي تخطّتها تلك النسخة.
أعمال مختارة
سبعة مشاريع. واحد منها منتج حيّ ما زلت أعمل عليه، وواحد بنيته بتكليف من عميل، والبقية بنيتها ليُظهر كل واحد منها شيئًا واحدًا بعينه.
قلمي
مساعد تصحيح للمعلّمين، بالعربية والإنجليزية. يقرأ أوراق الطلاب المكتوبة بخط اليد ويكتب الدرجة مسودة، ثم يتوقف، لأن قاعدة البيانات لا تسمح لغير معلّم باعتماد درجة نهائيًا.
Residence 724
صفحة واحدة لاستوديو مفروش في Midtown Miami، بالإنجليزية والإسبانية، مع بطاقات عمل في مكتب الاستقبال يفتح كل رمز QR فيها الصفحة بلغته.
Asteroids
إعادة بناء للعبة الأركيد الصادرة عام 1979 بغير محرّك ألعاب خلفها، مع جدول نتائج عالمي لا تسمح قاعدة البيانات نفسها بتزييفه.
Tally
أداة لإصدار الفواتير فيها عملاء وملفات PDF وبريد إلكتروني خلف تسجيل دخول حقيقي، حيث تعيش قاعدة «لا ترى إلا فواتيرك أنت» في قاعدة البيانات لا في الواجهة.
Parsel
ألصق إعلان وظيفة مبعثرًا، فتستعيده بيانات منظّمة ونظيفة مع مؤشّر ثقة لكل حقل. بُني حول الجزء الصعب فعلاً: جعل مخرجات النموذج آمنة للعرض.
Tidal
عيّنة خط طباعي لخط مُتخيَّل محوره الأساسي العمق لا السماكة. اسحب المؤشّر، أو مرّر الصفحة فحسب، فتغوص الحروف تحت الماء.
هذا الموقع
الملف الشخصي الذي تقرأه الآن: مشروع Hugo بقوالب وCSS خاصة به لا قالبًا جاهزًا من سوق قوالب، ثنائي اللغة بالعربية والإنجليزية، ومنشور عبر عملية ترحيل منصة جرت تحت قدميّ أثناء الإعداد.
كيف أعمل
بدأت مسيرتي في برمجة الألعاب، بلغة ++C ومحرك Unity غالبًا. الألعاب صادقة معك في مسألة واحدة على الأقل: هل أصبتَ أم لا. فإما أن يعمل الشيء بسلاسة، وإما أن يفشل بشكل واضح تمامًا، ولا يوجد كلام كثير يمكن أن تقوله للمراوغة بشأن معدل إطارات معطوب. أظن أن من هناك جاءت عادة الحرص على أن يعمل الشيء فعلاً، وقد حملتها معي إلى كل ما بنيته بعد ذلك.
أستخدم أدوات مدعومة بالذكاء الاصطناعي لأتحرك بسرعة، لكن معظم وقتي في هذه المشاريع ذهب إلى ما تركته النسخة السريعة خلفها. في Asteroids كان ذلك لوحة صدارة يستطيع المتصفح أن يكتب فيها رقمًا مزيّفًا. وفي Tally كانت لوحة تحكم تخفي فواتير المستخدمين الآخرين عن الشاشة، بينما تظل قاعدة البيانات مستعدة لتسليمها لمن يعرف كيف يطلبها. وفي Parsel كانت ميزة ذكاء اصطناعي كانت ستتفكك في أول مرة يلصق فيها أحدهم نصًا ليس إعلان وظيفة أصلاً. لم يكن إصلاح أيٍّ منها صعبًا بعد أن ذهبت أبحث عنه، وأنا أفضّل كثيرًا أن أجد هذا النوع من الأشياء بنفسي على أن يصطدم به شخص آخر لاحقًا.
طريقتي في العمل ليست معقّدة. أصل إلى شيء يعمل بأسرع ما أستطيع، ثم أتمهّل وأمنح وقتًا حقيقيًا للأجزاء التي لن أكون مرتاحة لتركها كما تركتها النسخة السريعة. وصفحة كل مشروع أدناه تذكر ما هي تلك الأجزاء، وأين أعرف أن العمل ما زال ناقصًا.