نبذة عني

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

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

في Karage أطلقتُ تطبيقَين على App Store (أحدهما يخدم أكثر من 5,000 مستخدم)، وبنيتُ نظام نقاط بيع على iPadOS من الصفر، وأرشدتُ فرق مطوّرين، ووظّفتُ التحليلات لتوجيه قرارات التسويق والنمو. وبشكل مستقل، بنيتُ منتجات متكاملة مثل Jamaatna — منصة مناسبات فيها دعوات رقمية وتأكيد حضور بنقرة ولوحة حضور مباشرة.

قويٌّ في Swift و SwiftUI، ومرتاح مع Next.js و TypeScript و Node.js و PostgreSQL — مع الحُكم الذي يُمكّنني من معرفة أي مشكلة أحلّ، والتواصل مع الناس، وإيصال المستخدم إلى هدفه.

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

ما الذي أُضيفه

  • التفكير في الحلول

    أبدأ من المشكلة والهدف التجاري، لا من الكود — ثم أبني أبسط حلٍّ يعمل فعلًا.

  • تجربة المستخدم، لا الواجهة فقط

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

  • الفهم التجاري

    مرتاح مع سياق المنتج والنمو والعملاء — أوظّف التحليلات لتوجيه قرارات التسويق والنمو.

  • المسؤولية والحُكم

    أُنجز الأمور حتى النهاية — من نظام نقاط بيع بُني من الصفر إلى قيادة ترحيل حساب Apple Developer — وأستخدم الذكاء الاصطناعي لأتحرّك بسرعة مع امتلاك النتيجة.

تودّ معرفة كيف أعمل فعلًا يومًا بيوم؟ اقرأ دليلي الشخصي للعمل معي.

المهارات

الأدوات والتقنيات

  • Swift / SwiftUI
  • TypeScript
  • Next.js
  • React
  • Node.js
  • C# / .NET
  • PostgreSQL
  • Supabase
  • Docker
  • Git & GitHub
  • CI/CD والاختبارات
  • التوطين (عربي/إنجليزي)

مستوى الإتقان

  • الأساسية

    • Swift / SwiftUI
    • iOS & iPadOS
    • TypeScript / Next.js
  • قوية

    • Node.js
    • ASP.NET Core
    • REST APIs
    • PostgreSQL / Supabase
  • معرفة عملية

    • Docker
    • CI/CD & testing
    • i18n (EN / AR)

المشاريع

  • My Karage iOS app

    My Karage

    iOS · أكثر من 5,000 مستخدم

    تطبيق iOS موجّه للعملاء للحجز والدفع، مع تكامل مع واجهات REST وتخزين آمن. نما إلى أكثر من 5,000 مستخدم مع تحسّن ملموس في تجربة الحجز.

  • Karage Kash iPadOS POS app

    Karage Kash

    iPadOS · نقاط بيع

    تطبيق نقاط بيع لـ iPadOS مبني بـ Swift و SwiftUI، يركّز على الموثوقية وسهولة الوصول في العمليات اليومية للمتجر.

  • Jamaatna event platform

    Jamaatna

    متكامل · منصة مناسبات

    منصة متكاملة لإدارة الأعراس والمناسبات من الدعوة حتى الاستقبال — دعوات رقمية أنيقة، تأكيد حضور بنقرة واحدة، رموز QR للدخول، ولوحة حضور مباشرة. بالعربية والإنجليزية (RTL).

  • MyVenue venue booking app

    MyVenue · قاعتي

    متكامل · حجز قاعات

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

  • Invoicing and reporting dashboard

    لوحة الفوترة والتقارير

    ويب · Next.js

    لوحة بـ Next.js و TypeScript لأعمال خدمات السيارات. ساهمتُ في بنائها وبنيتُ نظام الفوترة داخلها — فواتير ضريبية مبسّطة و A4 على نمط هيئة الزكاة والضريبة، وعروض أسعار وتقارير.

  • 4service.co car service center website

    4service.co

    ويب · مركز خدمات سيارات

    موقع تعريفي ثنائي اللغة (عربي وإنجليزي، بدعم الكتابة من اليمين لليسار) لمركز خدمات سيارات في السعودية — خدمات الصيانة والفحص والعناية بالسيارة، ومعرض للخدمات، وتقييمات العملاء، وتواصل مباشر عبر واتساب. مبني بـ HTML/CSS/JS بدون أي أدوات بناء، ومستضاف على GitHub Pages.

  • Salih Bawarith portfolio — bilingual roast-curve career timeline

    Salih Bawarith

    ويب · موقع تعريفي شخصي

    موقع تعريفي شخصي ثنائي اللغة (عربي وإنجليزي، RTL) لمدير عمليات أغذية ومشروبات في الرياض، وخبير قهوة مختصة، وخطّاط عربي. ميزته المميّزة هي خط زمني للمسيرة المهنية على شكل «منحنى تحميص» بمسارات متضافرة للأدوار المتزامنة، إضافةً إلى معارض للخطّ العربي وللأعمال والفعاليات مع عارض صور. مبني بـ HTML/CSS/JS بدون أي أدوات بناء، ومستضاف على GitHub Pages.

  • Gold Price Raycast extension

    Gold Price

    إضافة Raycast · TypeScript

    إضافة لـ Raycast تعرض أسعار الذهب اليومية للغرام (عيار 24 و22 و21 و18) في أسواق الخليج، مع متوسطات لـ 1 و3 و6 و12 شهرًا، ومُحدِّد للعيار وعملة عرض قابلة للاختيار. مبنية بـ TypeScript على واجهة metals.dev.

  • Turathiyat — Arabic RTL storefront for rare Saudi coins and banknotes

    Turathiyat

    ويب · Astro · متجر عربي

    موقع كتالوج عربي بالكامل وباتجاه من اليمين إلى اليسار لتاجر في الرياض متخصص في العملات الورقية والمعدنية النادرة والطوابع والمقتنيات التراثية. يقوم مُجمِّع بيانات بلغة Node بنسخ مخزون البائع من منصة الإعلانات إلى نطاق يملكه، ثم يُصيّره Astro إلى نحو 130 صفحة ثابتة لا تحمل سوى نحو 1.3 كيلوبايت من JavaScript. كل زر شراء يفتح واتساب برسالة تحمل رقمًا مرجعيًا دائمًا للقطعة، فيصبح كل عميل محتمل قابلًا للتتبّع — مع عمل عميق على الظهور في محركات البحث ومحركات الذكاء الاصطناعي وتحليلات فوق ذلك.

My Karage

iOS · Swift و SwiftUI · أكثر من 5,000 مستخدم · 2022–2026

  • Swift
  • SwiftUI
  • Combine
  • URLSession
  • REST API
  • OAuth2
  • Moyasar
  • APNs
  • AppsFlyer
  • Smartlook
  • Deep Linking

نبذة

تطبيق iOS موجّه للعملاء لكل من يملك سيارة ويريد صيانتها. يحفظ سجلّ صيانة كل سيارة وفواتيرها، ويعرض شبكة كاملة من الورش المناسبة، ويُبرز العروض، ويتولّى الحجز والدفع من البداية للنهاية. نما إلى أكثر من 5,000 مستخدم.

دوري

امتلكتُ التطبيق بالكامل من البداية للنهاية — البنية وتجربة المستخدم وكل ميزة بـ Swift و SwiftUI — بالتواصل مع خلفية مبنية بـ ASP.NET من فريق الـ backend.

ما الذي بنيته

  • سجلّ الصيانة والفواتير المحفوظة — كل خدمة وإيصال محفوظ لكل سيارة.
  • شبكة الورش — تصفّح وبحث في شبكة كاملة من الورش المناسبة.
  • قائمة العروض — عروض وخصومات تُعرض للمستخدمين.
  • مسار دفع عبر Moyasar، مع مصادقة وتسجيل دخول بـ OAuth2.
  • إشعارات فورية، وروابط عميقة (deep linking)، ونظام إحالات.
  • رفع وتنزيل الصور وإنشاء ملفات PDF داخل التطبيق.
  • الملف الشخصي والإعدادات ودعم كامل للعربية والإنجليزية.
  • تحليلات وتتبّع الجلسات عبر AppsFlyer و Smartlook.
  • بنيتُ نموذجًا أوليًا لمساعد ذكاء اصطناعي داخلي يعرف بيانات سيارتك (لم يُطلَق).

أبرز النقاط

صمّمتُ التطبيق وأطلقتُه بالكامل في 2021–2022، قبل وجود أدوات البرمجة بالذكاء الاصطناعي. وكانت إضافة الروابط العميقة والإشعارات الفورية عملًا كبيرًا استلزم إعادة هيكلة التطبيق بأكمله.

الحالة

أُطلق أول مرة في 2022؛ ويُصان ويُحدَّث حتى 2026.

لقطات من التطبيق

Karage Kash iPadOS point-of-sale app — App Store screenshots

Karage Kash

iPadOS · Swift و SwiftUI · نقاط بيع · 2025

  • Swift
  • SwiftUI
  • iPadOS
  • ASP.NET
  • REST API
  • Epson

نبذة

تطبيق نقاط بيع لـ iPadOS لمتاجر خدمات السيارات. يُنشئ الكاشير الطلب ويبني السلة ويُصدر الفاتورة — كل ذلك من شاشة واحدة ظاهرة دائمًا، مصمّمة للسرعة والموثوقية عند الكاونتر.

دوري

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

ما الذي بنيته

  • أعدتُ بناء التطبيق بالكامل للإصدار الثاني — البنية والتصميم والأداء.
  • السلة والدفع لمبيعات خدمات السيارات اليومية.
  • إنشاء الفواتير والإيصالات من شاشة واحدة.
  • طباعة الإيصالات عبر طابعات Epson (بالتكامل مع زميل في الفريق).
  • أوقات إطلاق وتحميل أسرع، وتجربة استخدام محدَّثة مقارنةً بالإصدار الأول.

أبرز النقاط

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

الحالة

بُني في نحو ثلاثة أشهر وأُطلق في 2025؛ وهو قيد الاستخدام في الإنتاج.

Jamaatna — run your event from the invite to the door

Jamaatna · جمعتنا

متكامل · Next.js · Supabase · منصة مناسبات · 2026

  • Next.js
  • Supabase
  • Node.js
  • Realtime
  • QR
  • Netlify
  • Cloudflare

نبذة

جمعتنا منصة متكاملة لإدارة الأعراس والمناسبات من الدعوة حتى الاستقبال — دعوات رقمية أنيقة، وتأكيد حضور بنقرة واحدة، ورموز QR للدخول، ولوحة حضور مباشرة. ثنائية اللغة بالكامل عربي وإنجليزي (RTL).

دوري

هذه شركتي الناشئة. أقوم بكل شيء — تصميم المنتج، والواجهة الأمامية، والخلفية، والتوطين، والأعمال، والتسويق.

ما الذي بنيته

  • دعوات رقمية أنيقة مع تأكيد حضور بنقرة واحدة.
  • رموز QR للدخول ومسار تسجيل دخول عبر ماسح ضوئي.
  • لوحة حضور مباشرة تتحدّث في الوقت الحقيقي.
  • إدارة قائمة المدعوّين وتوزيع الجلوس.
  • أنواع مناسبات متعددة مع لوحة للمضيف.
  • مدفوعات وتحليلات وتذكيرات آلية.
  • توطين كامل بالعربية والإنجليزية (RTL).

أبرز النقاط

تسجيل الدخول هو الجزء اللافت: امسح رمز QR للضيف عند الباب فتتحدّث لوحة الحضور المباشرة في الوقت الحقيقي — دون إعادة تحميل، ويرى الجميع العدّاد يتحرّك.

الحالة

مباشرة — أُطلقت في 2026.

لقطات من التطبيق

MyVenue — venue booking app with map search and listings

MyVenue · قاعتي

متكامل · Replit · Mapbox · حجز قاعات · 2026 (نسخة أولية)

  • Replit
  • Mapbox
  • Fullstack
  • RTL

نبذة

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

دوري

عمل حرّ لشركة هوامش — بنيتُ الواجهة الأمامية والخلفية على Replit. وهو نسخة أولية (MVP).

ما الذي بنيته

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

أبرز النقاط

بحث عبر خرائط Mapbox بتصميم عربي أولًا من اليمين لليسار — تصفّح القاعات على الخريطة بالطريقة التي يبحث بها السكان فعلًا.

الحالة

بُني في 2026 كنسخة أولية.

Invoicing and reporting dashboard — simplified and A4 tax invoice previews

لوحة الفوترة والتقارير

ويب · Next.js · هيئة الزكاة والضريبة (المرحلة الثانية) · 2025

  • Next.js
  • TypeScript
  • ASP.NET
  • OAuth2
  • ZATCA Phase 2

نبذة

لوحة بـ Next.js و TypeScript لأعمال خدمات السيارات، يستخدمها الملّاك والورش. ساهمتُ في اللوحة الأوسع وبنيتُ نظام الفوترة داخلها — فواتير ضريبية للمرحلة الثانية من هيئة الزكاة والضريبة (مبسّطة و A4)، وعروض أسعار وتقارير.

دوري

امتلكتُ واجهة وتجربة استخدام نظام الفوترة داخل اللوحة. أما بقية اللوحة — التقارير والتحليلات وإدارة العملاء والمخزون والموظفين — فقد ساهمتُ فيها.

ما الذي بنيته

  • واجهة وتجربة الفوترة لفواتير ضريبية مبسّطة و A4.
  • فواتير ضريبية متوافقة مع المرحلة الثانية من هيئة الزكاة والضريبة.
  • عروض أسعار تتحوّل إلى فواتير.
  • دعم اللوحة الأوسع: التقارير والتحليلات والعملاء والمخزون والموظفين.

أبرز النقاط

كان على الفوترة أن تتوافق مع المرحلة الثانية من هيئة الزكاة والضريبة — معيار الفوترة الإلكترونية السعودي — بعرض فواتير ضريبية مبسّطة و A4 صحيحة يعتمد عليها الملّاك والورش يوميًا.

الحالة

بُني في 2025؛ وقيد الاستخدام حتى 2026. مشروع شركة خاص.

4service.co car-service center marketing site

4service.co

ويب · HTML/CSS/JS بدون أدوات بناء · مركز خدمات سيارات · 2025

  • HTML
  • CSS
  • JavaScript
  • RTL
  • SEO
  • GitHub Pages

نبذة

موقع تعريفي ثنائي اللغة (عربي وإنجليزي، RTL) لمركز خدمات سيارات في السعودية — خدمات الصيانة والفحص والعناية بالسيارة، ومعرض للخدمات، وتقييمات العملاء، وتواصل مباشر عبر واتساب بنقرة واحدة.

دوري

مشروع لعميل بالعمل الحرّ — صمّمتُه وبنيتُه بالكامل من الصفر.

ما الذي بنيته

  • ثنائي اللغة عربي/إنجليزي بدعم كامل للكتابة من اليمين لليسار.
  • أقسام للخدمات، ومعرض، وتقييمات العملاء.
  • تواصل مباشر عبر واتساب بنقرة واحدة.
  • تحسين لمحركات البحث (SEO) وإعداد نطاق مخصّص.
  • مبني من الصفر بـ HTML/CSS/JS بدون أدوات بناء، ومستضاف على GitHub Pages.

أبرز النقاط

مبني من الصفر دون أي إطار عمل — فقط HTML و CSS و JS — ثنائي اللغة بالكامل مع دعم RTL وروابط واتساب مباشرة بنقرة واحدة، إضافةً إلى تحسين محركات البحث ونطاق مخصّص.

الحالة

أُطلق في 2025.

لقطات من التطبيق

Salih Bawarith portfolio — bilingual roast-curve career timeline

Salih Bawarith

ويب · HTML/CSS/JS بدون أدوات بناء · موقع تعريفي شخصي · 2026

  • HTML
  • CSS
  • JavaScript
  • RTL
  • Bilingual
  • SEO
  • GitHub Pages

نبذة

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

دوري

صمّمت الموقع وبنيته بالكامل — فكرة «منحنى التحميص»، والتصميم ثنائي اللغة بدعم RTL، والمعارض. كل المحتوى موجود في ملف JavaScript واحد للبيانات، ليتمكّن صالح من تحديث خطّه الزمني وصوره وأعماله الخطّية دون لمس أي HTML.

ما الذي بنيته

  • خط زمني للمسيرة على شكل «منحنى تحميص» — منحنًى يُرسَم مع التمرير بمسارات متضافرة للأدوار المتزامنة.
  • ثنائي اللغة بالكامل عربي/إنجليزي مع زر لتبديل اللغة وانعكاس كامل للاتجاه (RTL).
  • معرض للخطّ العربي ومعرض ألبومات للأعمال والفعاليات — شبكة + عارض صور، مع تحميل الصور والفيديو عند الطلب.
  • مرشّحات حسب الفئة وترقيم «عرض المزيد» لتتوسّع المعارض.
  • بنية تعتمد على البيانات — كل المحتوى في ملف JS واحد، فيُحدَّث دون تعديل HTML.
  • مبني من الصفر بـ HTML/CSS/JS بدون أي أدوات بناء، إضافةً إلى تحسين محركات البحث ونطاق مخصّص على GitHub Pages.

قرارات تجربة المستخدم

  • تقديم المسيرة المهنية على شكل «منحنى تحميص» بدلًا من قائمة نقاط — تقرأ تصاعُد الزخم عبر الزمن، لا التواريخ فقط.
  • مسارات متضافرة تجعل الأدوار المتزامنة واضحة بلمحة واحدة بدل دمجها في عمود واحد.
  • المعارض تُحمّل الصور وصور الفيديو المصغّرة عند الطلب، مع ترقيم «عرض المزيد»، ليبقى الأرشيف الكبير سريعًا على الجوال.
  • كل لقطة شاشة وصورة تُفتح في عارض ملء الشاشة يمكن التنقّل بينها بالسحب.
  • متوافق مع لوحة المفاتيح وقارئات الشاشة (إدارة التركيز، وإغلاق بمفتاح Escape، وعناوين ARIA)، مع تعطيل كل الحركة عند تفعيل prefers-reduced-motion.

التحليلات

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

أبرز النقاط

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

الحالة

أُطلق في 2026، ومتاح على salihbawarith.com.

لقطات من التطبيق

Gold Price Raycast extension — gold prices per gram

Gold Price

إضافة Raycast · TypeScript · أسعار الذهب الخليجية

  • TypeScript
  • Raycast API
  • React
  • metals.dev API
  • Caching

نبذة

إضافة لـ Raycast تجعل أسعار الذهب اليومية على بُعد اختصار واحد. تعرض أسعارًا حيّة للغرام لعيارات 24 و22 و21 و18 الشائعة في أسواق الخليج، والتغيّر اليومي مقارنةً بإغلاق اليوم السابق، ومتوسطات لـ 1 و3 و6 و12 شهرًا من إغلاقات يومية حقيقية — كل ذلك بالعملة التي تختارها.

دوري

مشروعي الخاص — صمّمت الإضافة وبنيتها بالكامل بـ TypeScript على واجهة Raycast، وقدّمتها إلى متجر Raycast الرسمي.

ما الذي بنيته

  • أسعار حيّة للغرام لعيارات 24 و22 و21 و18.
  • التغيّر اليومي في السعر مقارنةً بإغلاق اليوم السابق.
  • متوسطات لفترات 1 و3 و6 و12 شهرًا من إغلاقات يومية حقيقية.
  • مُحدِّد للعيار لتبديل متوسطات أي عيار تُعرض.
  • عملة عرض قابلة للاختيار: SAR وAED وKWD وQAR وBHD وOMR وUSD وEUR وGBP.
  • تخزين مؤقت موفّر للحصة للبقاء ضمن الطبقة المجانية من واجهة metals.dev.

أبرز النقاط

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

الحالة

المصدر متاح للعموم على GitHub، والإضافة مُقدَّمة إلى متجر Raycast — طلب الدمج رقم #29634 قيد المراجعة.

لقطات من التطبيق

Turathiyat homepage — Arabic RTL storefront for rare Saudi coins and banknotes

Turathiyat

ويب · Astro · كتالوج عربي RTL · تحسين للبحث والذكاء الاصطناعي وتحليلات · 2026

  • Astro
  • TypeScript
  • Node.js
  • Sharp
  • RTL
  • SEO
  • GEO
  • JSON-LD
  • Netlify

نبذة

تراثيات تاجر في الرياض متخصص في العملات الورقية والمعدنية النادرة والطوابع والمقتنيات التراثية، وكان نشاطه كله قائمًا داخل منصة إعلانات مبوّبة. بنيت له موقع كتالوج على نطاق يملكه: مسار بيانات بلغة Node ينسخ مخزونه من المنصة، ويُصيّره Astro إلى نحو 130 صفحة عربية ثابتة باتجاه من اليمين إلى اليسار — 119 قطعة و315 صورة — لا تحمل سوى نحو 1.3 كيلوبايت من JavaScript. كل زر شراء يفتح واتساب برسالة عربية جاهزة تحمل الرقم المرجعي الدائم لتلك القطعة، فيمكن تتبّع أي عميل محتمل رجوعًا إلى الصفحة التي جاء منها.

دوري

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

ما الذي بنيته

  • مُجمِّع بيانات بلغة Node يعمل على واجهة GraphQL الخاصة بالمنصة، يجلب الإعلانات والصور ويوحّدها في مجموعة بيانات واحدة.
  • موقع ثابت بـ Astro: صفحة رئيسية، وكتالوج، وست صفحات تصنيف، ودليل للمقتنين، وأسئلة شائعة، وصفحة شحن، وصفحة عن المتجر، إضافةً إلى صفحة لكل قطعة — كلها مُصيَّرة مسبقًا.
  • مجموعة بيانات تمثّل اتحاد كل ما جُمع على الإطلاق، فتحتفظ القطعة المباعة بصفحتها ورابطها وما راكمته من ترتيب في البحث بدل أن تختفي.
  • أرقام مرجعية مجمّدة (TRH-0001 فما فوق) تُسنَد مرة واحدة لكل قطعة ولا يُعاد استخدامها أبدًا، لأنها تنتهي داخل محادثات واتساب حقيقية.
  • بحث عربي في المتصفح فوق فهرس JSON مبني مسبقًا، يرتّب المتوفر أولًا، ويسجّل عمليات البحث التي لا تُرجع نتائج بوصفها طلبًا لا يغطّيه المخزون بعد.
  • معالجة للصور وقت البناء عبر Sharp: بطاقات مشاركة وصور مصغّرة للبحث تُولَّد لكل قطعة، مع تخطّي الموجود مسبقًا لتبقى إعادة البناء رخيصة.
  • نشر على Netlify بنطاق مخصّص، ووحدة إعدادات وقت البناء تجمع كل قيمة خاصة بالنشر، ووسيط تحليلات من الطرف الأول عند الحافة.

تحسين محركات البحث والذكاء الاصطناعي

  • بيانات منظّمة Product وOffer على كل صفحات القطع الـ119، بأسعار حقيقية حيث توجد، وحالة «نفد» على المباع.
  • ItemList على الكتالوج وصفحات التصنيف، وFAQPage على الرئيسية وصفحة الأسئلة، وBreadcrumbList في كل مكان، وعُقدة Store تربط بحساب البائع الموثّق على المنصة — وهو ما يربط نطاقًا جديدًا تمامًا بسمعة قائمة.
  • عناوين كُتبت لتختلف عمدًا عن عناوين المنصة، حتى لا تنافس الصفحاتُ الجديدة نطاقًا أقوى منها بكثير على نصّ متطابق.
  • روابط عربية تحمل رقم الإعلان كبادئة ثابتة، فلا يستطيع تعديلُ البائع لعنوان قطعة أن يكسر رابطًا — بأحرف صغيرة، لأن الاستضافة تعيد توجيه المسارات مختلطة الأحرف، ولا يصحّ أن يشير الرابط المعياري إلى إعادة توجيه.
  • ملف robots.txt يسمح لزواحف الذكاء الاصطناعي بالاسم — GPTBot وClaudeBot وPerplexityBot وGoogle-Extended وغيرها — بدل الاعتماد على رمز شامل تتجاهله بوابات الاستثناء.
  • ملف llms.txt يقدّم جردًا نصيًا للمخزون وملخصًا للأرقام المرجعية، وخريطة موقع مُولَّدة، ليقرأ المساعدون الأذكياء الكتالوج دون الحاجة إلى تصييره.
  • دليل للمقتنين وصفحة أسئلة شائعة كُتبا للإجابة عمّا يسأل عنه المشترون فعلًا — تاريخ العملة، وكيف تُقرأ درجة التقييم على الحافظة، وكيف تميّز الأصلي من المقلّد — فيكسب الموقع زيارات لا تستطيع أي قطعة منفردة كسبها.

قرارات تجربة المستخدم

  • عربي أولًا وباتجاه من اليمين إلى اليسار افتراضيًا — ليس موقعًا إنجليزيًا مترجمًا، بل موقعًا اتجاهه الأصلي هو RTL.
  • وعدٌ بسرعة الرد مذكور في المقدمة، وزر واتساب عائم يرافق القارئ في كل صفحة، لأن إجراء الشراء على الجوال يجب ألّا يبعد أكثر من إبهام واحد.
  • القطع المباعة تبقى قابلة للتصفّح وبصدق: الصفحة تبقى، والحالة تتغيّر، ولا يُعرض زر الشراء على مخزون نفد.
  • كل صورة هي للقطعة نفسها، مصوّرة كما هي، مع تنويه بذلك — وهي إشارة الثقة الأهم في سوق مليء بالمقلّد.
  • الأوصاف مشتقّة من كلام البائع نفسه بعد حذف سطر السعر والخاتمة وحشو الكلمات المفتاحية؛ دون اختلاق أي ادّعاء عن الندرة أو المصدر، فهذه بضائع حقيقية تُباع لمشترين حقيقيين.

التحليلات

أداة Microsoft Clarity تعمل على الموقع لتسجيلات الجلسات والخرائط الحرارية — وهي النصف النوعي من الصورة. أما النصف الكمّي فطبقة أحداث PostHog وصّلتها عبر وسيط من الطرف الأول على نطاق الموقع نفسه، فلا يرى حاجب المتتبّعات سوى حركة من المصدر ذاته؛ وتبقى صامتة حتى يُضبط مفتاح المشروع، ولا تُعطّل شيئًا في غيابه. أحداثها مبنية حول خاصية «الموضع»، ليصبح السؤال المفيد — أي سطح يحوّل فعلًا: صفحة القطعة أم التصنيف أم الدليل أم الزر العائم — سؤالًا له جواب بدل التخمين.

أبرز النقاط

أكثر ما يعجبني هو آلية نسبة العملاء: رسالة واتساب تصل وفيها TRH-0102 جاءت من هذا الموقع، ورسالة بلا رقم لم تأتِ منه. لا تحتاج الآلية إلى تثبيت أي شيء عند البائع، وتحوّل سؤال «هل ينفع الموقع؟» إلى سؤال له جواب. وحدّها الصريح أن واتساب يتيح للمُرسِل تعديل النص الجاهز قبل الإرسال، ولهذا تُسجَّل النقرة أيضًا بشكل مستقل — سجلّان يُقارَن بينهما، لا سجلّ واحد يُوثَق به.

الحالة

أُطلق في 2026، ومتاح على turathiyat.net.

لقطات من التطبيق

السيرة الذاتية

تحميل السيرة الذاتية (PDF)

الخبرات

  1. مهندس برمجيات مستقل

    متاح لفرص جديدة يونيو 2026 — حتى الآن

    أبني مشاريع شخصية وأتولّى أعمالًا مستقلة في iOS والويب والـ backend — ومنفتح على فرص جديدة. من أحدث أعمالي المستقلة Jamaatna، منصة مناسبات متكاملة.

  2. مهندس برمجيات — Karage

    ديسمبر 2021 — يونيو 2026

    أطلقتُ تطبيقَين على App Store (My Karage بأكثر من 5,000 مستخدم؛ Karage Kash لنقاط البيع على iPadOS بُني من الصفر). بنيتُ لوحة تقارير بـ Next.js و TypeScript على Node.js و Supabase، وطوّرتُ خدمات ASP.NET Core المصغّرة، ووظّفتُ التحليلات لتوجيه قرارات التسويق والنمو. أرشدتُ الفريق، وقدتُ مراجعات الكود وتغطية اختبارات ~80%، وقُدتُ ترحيل حساب Apple Developer.

  3. قائد إرشاد تطوّعي — LabLab MENA

    مايو 2023 — يوليو 2023

    أرشدتُ فرق الهاكاثون في التنفيذ التقني والبنية والنشر؛ وقدّمتُ ورش عمل ودعمًا للمطوّرين لرفع جودة المشاريع.

  4. مطوّر مواقع — Marn

    سبتمبر 2021 — ديسمبر 2021

    بنيتُ حلول Webflow CMS وتعاونتُ مع المصمّمين لتقديم تجارب ويب متجاوبة.

التعليم والشهادات

  1. بكالوريوس هندسة البرمجيات — University of the People

    تخرّج يونيو 2025

    بكالوريوس العلوم في هندسة البرمجيات.

  2. آيلتس أكاديمي — الدرجة 7

    شهادة

    إتقان الإنجليزية على المستوى المهني.
    العربية — لغة أم.

  3. هندسة الأوامر — DeepLearning.AI

    شهادة

    تطبيق هندسة الأوامر في سير عمل التطوير بمساعدة الذكاء الاصطناعي.

  4. 100 يوم مع SwiftUI ومعسكر iOS

    شهادة

    Hacking with Swift (بول هدسون) ومعسكر iOS و Swift التدريبي (د. أنجيلا يو).

تواصل

منفتح على الفرص والتعاون — تواصل معي عبر أيٍّ من هذه الوسائل.

احفظ جهة اتصالي

اضغط الزر، أو امسح الرمز بكاميرا هاتفك لإضافتي إلى جهات اتصالك.

أضِفني إلى جهات الاتصال
QR code that saves Anas Alhalabi's contact details