Software Engineerمهندسة برمجيات
Softwareمهندسة Engineer.برمجيات.
I build mobile apps, web platforms, AI features, and the business systems companies run on.أبني تطبيقات الجوال ومنصّات الويب وميزات الذكاء الاصطناعي وأنظمة الأعمال التي تشتغل عليها الشركات.
My work has covered Flutter apps, Vue and vanilla web front-ends, Python services, AI integration, Shopify storefronts, and Odoo ERP. I'm not tied to one stack. What stays the same is that I design a thing before I build it, and I stay with it until it runs in production.شمل عملي تطبيقات Flutter، وواجهات ويب بـVue وبـHTML/CSS/JS، وخدمات Python، ودمج الذكاء الاصطناعي، ومتاجر Shopify، وأنظمة Odoo. لستُ مرتبطة بتقنيةٍ واحدة. الثابت أنني أصمّم الشيء قبل أن أبنيه، وأبقى معه حتى يعمل في الإنتاج.
- 00
- Products designed & builtمنتجات صمّمتها وبنيتها
- 00
- Production ERP implementationنظام ERP يعمل في شركة
- 00
- AI-powered product experiencesمنتجات فيها ذكاء اصطناعي
- Santa Media
- Techno Solution
- ASPU
- Odoo
- Supabase
Every project, designed and built end-to-end.كل مشروع: مُصمَّم ومبنيّ من الفكرة إلى الإطلاق.
Products, systems, and experiences designed and built across healthcare, childcare, commerce, and business operations.منتجات وأنظمة وتجارب صُمّمت وبُنيت في الرعاية الصحية ورعاية الأطفال والتجارة وإدارة الأعمال.
CommerceتجارةCommerce · Beautyتجارة · تجميل2026Mademoiselle
Lead engineer + designerمهندسة رئيسية + مصمّمة
Read case studyاقرأ دراسة الحالة
Healthcareرعاية صحيةHealthcareرعاية صحية2025BloomBelly
Engineer + designerمهندسة + مصمّمة
Read case studyاقرأ دراسة الحالة
Childcare marketplaceسوق رعاية أطفالChildcare marketplaceسوق رعاية أطفال2024CareConnect
Engineer + designerمهندسة + مصمّمة
Read case studyاقرأ دراسة الحالة
Healthcareرعاية صحيةHealthcare · Multi-tenantرعاية صحية · متعدّد المستأجرين2026Eda
Designer + QA engineerمصمّمة + مهندسة اختبار
Read case studyاقرأ دراسة الحالة
From a problem to a shipped product.من مشكلة إلى منتجٍ جاهز للإطلاق.
Screens are the last thing I draw. I start with the problem and follow it all the way into production.الشاشات آخر ما أرسمه. أبدأ من المشكلة وأتابعها حتى الإنتاج.
Every layer, and where I built it.كل طبقة، وأين بنيتُها.
Pick a layer to see what lives in it and which product it came from. Nothing here is theoretical; each one shipped.اختر طبقةً لترى ما فيها ومن أي منتجٍ جاءت. لا شيء هنا نظري؛ كل واحدةٍ منها أُطلقت فعلاً.
Flutter · Dart
- Cross-platform UI from a single Dart codebaseواجهة متعدّدة المنصّات من قاعدة Dart واحدة
- Arabic-first RTL layouts, designed that way from the startتخطيطات عربية من اليمين لليسار، مصمّمة هكذا من البداية
- A shared design system so screens don't drift apartنظام تصميم مشترك كي لا تتباعد الشاشات
- State management, navigation, and offline-aware flowsإدارة الحالة، والتنقّل، وتدفّقات واعية بالعمل دون اتصال
The judgment behind the work.الحُكم وراء العمل.
Anyone can list technologies. These are actual decisions from the projects: the cheap default I turned down, what I did instead, and what it cost me. Open any one.يستطيع أيّ أحدٍ سرد التقنيات. هذه قرارات فعلية من المشاريع: الخيار السهل الذي رفضته، وما فعلته بدلاً منه، وما كلّفني ذلك. افتح أيّاً منها.
- The easy pathالطريق السهل
One app with a role switch is cheaper. You get a single codebase, one store listing, one onboarding flow. Most marketplaces ship exactly this way.تطبيق واحد فيه مبدّل أدوار أرخص. قاعدة كودٍ واحدة، وإدراج واحد في المتجر، وتهيئة واحدة. هكذا تُطلق معظم المنصّات.
What I choseما اخترتهThree apps. A mother, a babysitter and an admin each open the app to do a completely different thing, and they don't share a vocabulary. Separating them meant each app could have navigation built for one job and a store listing that says what it does, with nobody reading “you are logged in as: Mother”.ثلاثة تطبيقات. الأمّ والجليسة والمشرف يفتح كلٌّ منهم التطبيق لغرضٍ مختلف تماماً، ولا يتشاركون المفردات نفسها. فصلُهم سمح لكل تطبيقٍ بتنقّلٍ مبنيّ لمهمّةٍ واحدة وبإدراجٍ في المتجر يقول ما يفعله، دون أن يقرأ أحدٌ «أنتِ مسجَّلة الدخول كـ: أمّ».
The trade-offالمفاضلةSee it in CareConnectشاهده في CareConnectHigher initial build cost, but every surface stays honest to its audience.كلفة بناءٍ أولية أعلى، لكن كلّ واجهة تبقى أمينةً لجمهورها.
- The easy pathالطريق السهل
Firebase is what most student projects reach for, and auth plus Firestore is quick to wire up. Its security rules are a JSON dialect that's easy to get subtly wrong, though, and the client is something a determined user can modify.Firebase ما تلجأ إليه معظم مشاريع الطلاب، وربط المصادقة مع Firestore سريع. لكن قواعد أمانه لهجة JSON يسهل أن تُخطئ فيها دون أن تنتبه، والعميل شيء يستطيع مستخدمٌ مصرّ أن يعدّله.
What I choseما اخترتهPostgres with Supabase row-level security. The policies are ordinary SQL, they run on every single query, and there's no client-side path around them. A mother's query cannot return another mother's bookings, no matter what the app asks for.Postgres مع أمان مستوى الصف في Supabase. السياسات SQL عادية، تُنفَّذ مع كل استعلام، ولا يوجد طريق من جهة العميل يلتفّ حولها. استعلام أمٍّ لا يمكنه إعادة حجوزات أمٍّ أخرى مهما طلب التطبيق.
The trade-offالمفاضلةSee it in CareConnectشاهده في CareConnectMore to operate, but the security model is something I can audit, and it's what made the three-app split safe to do at all.تشغيلٌ أثقل، لكن نموذج الأمان شيء أستطيع تدقيقه، وهو ما جعل فصل التطبيقات الثلاثة آمناً أصلاً.
- The easy pathالطريق السهل
One fine-tuned LLM can answer questions, classify nutrition and describe images. That's a single model to train, a single screen, a single thing to deploy.نموذج لغوي واحد مضبوط يستطيع الإجابة وتصنيف التغذية ووصف الصور. نموذج واحد تدرّبه، وشاشة واحدة، وشيء واحد تنشره.
What I choseما اخترتهThree specialized models: Gemini reads images, a LoRA-tuned transformer handles Arabic questions, and a Random Forest scores nutrition. Each one got its own screen, built around how that particular capability is actually used.ثلاثة نماذج متخصّصة: Gemini يقرأ الصور، ومحوّل مضبوط بـLoRA يتولّى الأسئلة العربية، وRandom Forest يقيّم التغذية. لكل واحدٍ شاشته الخاصة، مبنيّة على الطريقة التي تُستخدم بها تلك القدرة فعلاً.
The trade-offالمفاضلةSee it in BloomBellyشاهده في BloomBellyThree things to maintain instead of one. In exchange each model can be audited on its own, which matters a lot in healthcare, and users reach for the right tool instead of one box that claims to do everything.ثلاثة أشياء تصونها بدل واحد. في المقابل يمكن تدقيق كل نموذجٍ على حدة، وهذا يهمّ كثيراً في الرعاية الصحية، ويذهب المستخدمون إلى الأداة الصحيحة بدل صندوقٍ واحد يدّعي أنه يفعل كل شيء.
- The easy pathالطريق السهل
A confident chatbot that always answers demos well. But one that hallucinates dosages is dangerous in maternal care.روبوت محادثة واثق يجيب دائماً يبدو جيداً في العروض. لكن الذي يهلوس الجرعات خطيرٌ في رعاية الأمومة.
What I choseما اخترتهUnder a confidence threshold the bot says “Consult your doctor / استشيري طبيبتك”. I drew that state in Figma as a warm, proper screen with the same care as any other, so it reads as the app doing its job rather than a red error box.تحت عتبة ثقةٍ معيّنة يقول الروبوت «استشيري طبيبتك». رسمتُ هذه الحالة في Figma كشاشةٍ دافئة كاملة بالعناية نفسها التي أعطيها لأي شاشة، لتُقرأ كأداءٍ سليم للتطبيق لا كصندوق خطأ أحمر.
The trade-offالمفاضلةSee it in BloomBellyشاهده في BloomBellyIt demos less impressively. It's also the version I'd be willing to put in front of a real pregnant woman, which is the only test that mattered here.يبدو أقلّ إبهاراً في العرض. وهو أيضاً النسخة التي أقبل أن أضعها أمام امرأةٍ حاملٍ حقيقية، وهذا الاختبار الوحيد الذي كان يهمّ هنا.
- The easy pathالطريق السهل
Creating the journal entry the moment an employee hits submit gives you a simpler state machine.توليد القيد لحظة يضغط الموظّف «تقديم» يمنحك آلة حالاتٍ أبسط.
What I choseما اخترتهThe account.move only appears when finance approves. Before that the request is an HR record and nothing more.لا يظهر account.move إلا عندما توافق المالية. قبل ذلك الطلب سجلّ موارد بشرية ولا شيء غير ذلك.
The trade-offالمفاضلةSee it in Smart Expense Managerشاهده في Smart Expense ManagerOne more state to manage. In return the ledger stays clean: an accountant only ever sees entries that represent a real liability, and never has to reverse something that was never approved.حالةٌ إضافية تديرها. في المقابل يبقى دفتر الأستاذ نظيفاً: لا يرى المحاسب إلا قيوداً تمثّل التزاماً حقيقياً، ولا يحتاج أبداً إلى عكس قيدٍ لم يُعتمد أصلاً.
- The easy pathالطريق السهل
Most teams ship RTL as a mirror of the English layout. You flip the direction, swap a few icons, and call it done. Arabic readers can always tell.معظم الفرق تُطلق العربية كمرآةٍ للتخطيط الإنجليزي. تقلب الاتجاه، وتبدّل بعض الأيقونات، وتعتبر الأمر منتهياً. والقارئ العربي يعرف ذلك دائماً.
What I choseما اخترتهI drew the Figma file and every Flutter screen in Arabic first. Reading order, hierarchy, spacing and icon choices were all decided while looking at Arabic, and English came afterwards.رسمتُ ملف Figma وكل شاشة Flutter بالعربية أولاً. ترتيب القراءة والتسلسل والتباعد واختيار الأيقونات كلها قُرّرت وأنا أنظر إلى العربية، والإنجليزية جاءت بعدها.
The trade-offالمفاضلةSee it in Mademoiselleشاهده في MademoiselleDesigning in two directions takes longer. The payoff is that the Arabic version reads like the original, because that's what it is.التصميم باتجاهين يستغرق وقتاً أطول. والمقابل أن النسخة العربية تُقرأ كالأصل، لأنها هي الأصل.
The systems a company actually runs on.الأنظمة التي تدير بها الشركة عملها فعلاً.
Behind the apps sit the unglamorous systems: expenses, HR, payroll, attendance, point of sale, approval chains. I've built these in Odoo 19 for real companies, shaped around how each one already works rather than how the software wishes they did. One of them is open source and running today.خلف التطبيقات تقف الأنظمة غير البرّاقة: النفقات، والموارد البشرية، والرواتب، والحضور، ونقاط البيع، وسلاسل الموافقات. بنيتُ هذه بـOdoo 19 لشركاتٍ حقيقية، مصوغةً على طريقة عمل كل شركة كما هي لا كما يتمنّاها البرنامج. أحدها مفتوح المصدر ويعمل اليوم.
- Expense Managementإدارة النفقات
- HRالموارد البشرية
- Payrollالرواتب
- Attendanceالحضور
- Days → Secsأيام ← ثوانٍ
- Expense approval timeزمن الموافقة على النفقات
- 3-division3 أقسام
- Company centralizedشركة موحّدة
- Open sourceمفتوح المصدر
- Live on GitHubحيّ على GitHub
The person behind the work.الشخص وراء العمل.
I'm a software engineer and an Information Technology Engineering graduate. I've worked on mobile apps, web front-ends, Python services, AI features, and the ERP systems companies run their operations on. I'm at my most useful on a small team, where the person who designs a thing is also the one who has to make it work.أنا مهندسة برمجيات وخرّيجة هندسة تقنية المعلومات. عملتُ على تطبيقات الجوال، وواجهات الويب، وخدمات Python، وميزات الذكاء الاصطناعي، وأنظمة ERP التي تدير بها الشركات عملياتها. أنفع ما أكون في فريقٍ صغير، حيث يكون من يصمّم الشيء هو نفسه من عليه أن يجعله يعمل.
- Software engineering roles, remote
- Mobile, web, or backend work
- Small teams shipping real products
- ERP and internal business systems
- أدوار هندسة برمجيات عن بُعد
- عمل على الجوال أو الويب أو الخادم
- فرق صغيرة تُطلق منتجات حقيقية
- أنظمة ERP والأنظمة الداخلية للشركات
Let's build something meaningful.لنصنع شيئاً ذا معنى.
I'm open to software engineering roles, remote ones especially. Mobile, web, backend, or internal systems all interest me, and I'm glad to talk about anything Arabic or bilingual.منفتحة على أدوار هندسة البرمجيات، وخصوصاً عن بُعد. يهمّني العمل على الجوال أو الويب أو الخادم أو الأنظمة الداخلية، ويسعدني الحديث عن أي منتجٍ عربي أو ثنائي اللغة.






