مطوّرة مستقلة

أبني أشياء، ويهمّني أن تعمل فعلاً.

مطوّرة مستقلة: ألعاب، وتطوير ويب شامل، وميزات ذكاء اصطناعي، وتصميم. أصل إلى نسخة تعمل بسرعة، ثم أعود إلى الأجزاء التي تخطّتها تلك النسخة.

01

أعمال مختارة

سبعة مشاريع. واحد منها منتج حيّ ما زلت أعمل عليه، وواحد بنيته بتكليف من عميل، والبقية بنيتها ليُظهر كل واحد منها شيئًا واحدًا بعينه.

قلمي screenshot
منتج ذكاء اصطناعي / تعليم

قلمي

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

Next.js + Claude API، بُني بـ Claude Code
Residence 724 screenshot
عمل لعميل / ويب وطباعة

Residence 724

صفحة واحدة لاستوديو مفروش في Midtown Miami، بالإنجليزية والإسبانية، مع بطاقات عمل في مكتب الاستقبال يفتح كل رمز QR فيها الصفحة بلغته.

Static HTML/CSS/JS، بُنيت بـ Claude Code
Asteroids screenshot
تفاعلي / لعبة

Asteroids

إعادة بناء للعبة الأركيد الصادرة عام 1979 بغير محرّك ألعاب خلفها، مع جدول نتائج عالمي لا تسمح قاعدة البيانات نفسها بتزييفه.

Vanilla JS + Canvas، بُنيت بـ Claude Code
Tally screenshot
تطوير شامل / مصادقة

Tally

أداة لإصدار الفواتير فيها عملاء وملفات PDF وبريد إلكتروني خلف تسجيل دخول حقيقي، حيث تعيش قاعدة «لا ترى إلا فواتيرك أنت» في قاعدة البيانات لا في الواجهة.

Lovable
Parsel screenshot
دمج الذكاء الاصطناعي

Parsel

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

Bolt.new
Tidal screenshot
تصميم / واجهة أمامية

Tidal

عيّنة خط طباعي لخط مُتخيَّل محوره الأساسي العمق لا السماكة. اسحب المؤشّر، أو مرّر الصفحة فحسب، فتغوص الحروف تحت الماء.

v0
تطوير شامل / بنية تحتية

هذا الموقع

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

Hugo (static site generator)، بُني بـ Claude Code
02

كيف أعمل

بدأت مسيرتي في برمجة الألعاب، بلغة ++C ومحرك Unity غالبًا. الألعاب صادقة معك في مسألة واحدة على الأقل: هل أصبتَ أم لا. فإما أن يعمل الشيء بسلاسة، وإما أن يفشل بشكل واضح تمامًا، ولا يوجد كلام كثير يمكن أن تقوله للمراوغة بشأن معدل إطارات معطوب. أظن أن من هناك جاءت عادة الحرص على أن يعمل الشيء فعلاً، وقد حملتها معي إلى كل ما بنيته بعد ذلك.

أستخدم أدوات مدعومة بالذكاء الاصطناعي لأتحرك بسرعة، لكن معظم وقتي في هذه المشاريع ذهب إلى ما تركته النسخة السريعة خلفها. في Asteroids كان ذلك لوحة صدارة يستطيع المتصفح أن يكتب فيها رقمًا مزيّفًا. وفي Tally كانت لوحة تحكم تخفي فواتير المستخدمين الآخرين عن الشاشة، بينما تظل قاعدة البيانات مستعدة لتسليمها لمن يعرف كيف يطلبها. وفي Parsel كانت ميزة ذكاء اصطناعي كانت ستتفكك في أول مرة يلصق فيها أحدهم نصًا ليس إعلان وظيفة أصلاً. لم يكن إصلاح أيٍّ منها صعبًا بعد أن ذهبت أبحث عنه، وأنا أفضّل كثيرًا أن أجد هذا النوع من الأشياء بنفسي على أن يصطدم به شخص آخر لاحقًا.

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