هيثم العسوليRead this page in Arabicاقرأ هذه الصفحة بالإنجليزية

الويب2026

هديّة

هدايا ثلاثية الأبعاد متحركة تُرسَل كرابط.

  • يعمل الآن
هديّة — لقطة الغلاف

Project factsبيانات المشروع

باختصار

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

الخانات

الدور
منفردًا
السنة
2026
الحالة
يعمل الآن

بُني بـ

  • Next.js 16
  • React Three Fiber
  • drei
  • Convex
  • Tailwind CSS
  • Turbopack
  • React Compiler

What it isما هو

A greeting sent as a link is usually a static page with a name interpolated into it. This one is a real 3D scene: the gift sits there wrapped, and opening it is an animation rather than a page load.

Senders can attach a voice note, and get an email when the gift is actually opened, which turns out to be the part people care about most.

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

يستطيع المرسِل إرفاق رسالة صوتية، ويصله بريد حين تُفتح الهدية فعلًا، وتبيّن أن هذا أكثر ما يهتم به الناس.

النتائج

  • Per-gift link previews without server-rendering WebGL.
  • Voice notes and open-notification emails, with no account required.
  • معاينات روابط خاصة بكل هدية دون عرض WebGL على الخادم.
  • رسائل صوتية وإشعارات بريدية عند الفتح، بلا حاجة إلى حساب.

التحديات

كل خانة تُفتح مرتين: ما الذي تعثّر، ثم ما الذي فعلته.

01

رابط يُعاين كمربع رمادي لا يُفتح

المشكلة

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

ما فعلته

تُحوَّل الزواحف التي تصل رابط هدية إلى دالة على الخادم تعيد وسوم Open Graph خاصة بتلك الهدية، بينما يحصل الزائر الحقيقي على التطبيق ثلاثي الأبعاد كاملًا. فتصحّ المعاينة دون عرض مشهد WebGL على الخادم.

02

المشاهد ثلاثية الأبعاد والعرض من الخادم لا يمتزجان

المشكلة

يحتاج React Three Fiber لوحةً ومتصفحًا؛ وعرضه من الخادم ينتج عدم تطابق في الترطيب ووميض تخطيط مكسور قبل ظهور المشهد.

ما فعلته

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

Keep goingتابع

الرفّ

كل المشاريعالـ 40 كلها في ستّ خانات.