منصة حجز ذكية
منصة حجز لمراكز التجميل: واتساب في الواجهة، ونظام كامل يقف خلفه.
Next.js · TypeScript · Prisma · Neon · Better Auth · WhatsApp Business API
اقرأ القصة كاملةملف واحد للوظيفة وللعمل الحر
منصة واحدة يسير فيها التوظيف والعمل الحر على المسار نفسه، في أربع خطوات.
هذا مشروع شخصي لي، وليس عملًا لعميل. وقد اخترته لأن بناء نموذجه صعب فعلًا، ولأنني أردت أن أبني منصة كاملة من أولها إلى آخرها، لا نموذجًا يصلح للعرض فقط.
وجاءت الفكرة من ملاحظة واحدة: منصات التوظيف ومنصات العمل الحر تبنى كأنهما عملان مختلفان، مع أن الاثنين يسيران على الخطوات الأربع نفسها: يكتشف كل طرف الآخر، ثم يبدي أحدهما اهتمامه، ثم يجري التقييم، ثم يقع الالتزام. ولا يختلف الطريقان إلا في الخاتمة: عرض عمل هناك، وعقد على مراحل هنا. ومن يعمل بالطريقتين معًا، وهم كثيرون اليوم، يعيش في منتجين مختلفين بملفين وسمعتين.
الصعوبة كلها في بناء النموذج. فالهوية الواحدة يجب أن تصلح لشخص يبحث عن وظيفة، ولمستقل يعرض خدماته، ولعضو في شركة توظف، وقد يكون الشخص الواحد كل هؤلاء في الوقت نفسه. والثقة بين الغرباء يجب أن تبنى داخل النظام نفسه: مال يودع قبل أن يبدأ العمل، وسجل للمسار لا يعاد ترتيبه بعد وقوعه، وتقييمات لا تكتب إلا بعد عقد حقيقي اكتمل. وأي اختصار في هذه الأسس يظهر بعد حين على شكل عيب في كل شاشة فوقها.
بنيت الجزء المكلف مرة واحدة: هوية واحدة يمكن أن تكون كفاءة تبحث عن عمل ويمكن أن تنتمي إلى شركة توظف، وقائمة مهارات واحدة توصف بها الوظائف والمشاريع والأشخاص، ومسار واحد من أربع خطوات يسير عليه الجانبان، وطبقة واحدة للمراسلة والتقييمات والفواتير. وفوق ذلك كله طرفان خفيفان: فالوظيفة تختم بعرض عمل، والمشروع يختم بعقد تودع قيمة مرحلته الأولى قبل أن يبدأ العمل.
وكان النصف الأصعب هو الثقة بين الغرباء. فمراحل العقد تودع قيمتها قبل العمل، والتسليم في يد المستقل، والموافقة والصرف خطوتان منفصلتان في يد الشركة، وكل خطوة تشترط أن تكون التي قبلها قد تمت. ومسار المرشح سجل يضاف إليه فقط: تكتب كل نقلة ومعها اسم من قام بها ووقتها وملاحظتها، وإذا وقع خطأ كان تصحيحه إضافة جديدة، لا تعديلًا لما وقع.
وداخل الشركة جعلت الصلاحيات قدرات محددة لا رتبًا عامة: فمن يجري المقابلات يسلم بطاقة تقييمه ولا ينقل مرشحًا، ومن يتولى الفواتير يودع ويصرف ولا يفتح ملفات المتقدمين. وبطاقة زميلك تبقى محجوبة عنك حتى تسلم بطاقتك أنت، حتى لا يكتب أحد رأيه فوق رأي غيره.
الملف نفسه يحمل حالة البحث عن وظيفة وحالة التوفر للعمل الحر معًا. فمن يجري مقابلة لوظيفة ثابتة وهو ينفذ عقد عمل حر يعد هنا حالة عادية، لا حالة نادرة.
يكتشف كل طرف الآخر، ثم يبدى الاهتمام، ثم يجري التقييم، ثم يقع الالتزام. بحث واحد ومسار واحد للوظائف والمشاريع معًا، ولا تختلف إلا الخاتمة: عرض عمل، أو عقد أودعت قيمته.
قيمة كل مرحلة تودع قبل أن يبدأ العمل فيها. فيسلم المستقل عمله، ثم توافق الشركة عليه، ثم تصرف المال، وكل خطوة تشترط التي قبلها، فلا يستطيع أحد أن يقفز إلى النهاية.
كل نقلة لمتقدم تكتب قيدًا جديدًا في السجل: من أين نقل، وإلى أين، ومن نقله، ومتى، وبأي ملاحظة. ولا يعدل المسار بأثر رجعي، والمتقدم نفسه يرى في أي مرحلة يقف.
الأدوار داخل الشركة قدرات دقيقة لا رتب عامة: فمن يقابل يقيم ولا ينقل، ومن يتولى الفواتير يودع ولا يطلع على المرشحين، والمدير هو الذي يرسم المسار. وكل صلاحية تفحص عند الخادم في كل طلب.
لكل وظيفة مراحلها التي ترسمها الشركة: أسئلة غربلة، ومقابلات، وبطاقات تقييم. والسؤال الحاسم في الغربلة يستبعد تلقائيًّا كل من لا يجتازه، فلا يضيع وقت أحد في طلبات خارجة عن الشروط.
نواة واحدة، تبنى فيها الهوية والمهارات والمسار والمراسلة مرة واحدة، وفوقها طرفان خفيفان.
الجزء المكلف في هذا النوع من المنصات هو الوسط لا الأطراف: البحث، والملف، والمسار، والثقة. وبناؤه مرتين يعني صيانته مرتين، ثم مشاهدة النسختين تفترقان مع الوقت. ثم إن من يعمل بالطريقتين يحصل هنا على ملف واحد وسمعة واحدة.
التصميم في البداية أثقل بكثير من إطلاق مسارين منفصلين، ولا بد أن يصح كل قرار في النواة للجانبين معًا، وهذا قيد يرافق المشروع دائمًا.
إضافة فقط. فالنقلة تسجل ولا تمس بعدها، والتصحيح نقلة جديدة.
السجل الذي يقبل التعديل ليس سجلًا بل مسودة. ومسار المرشح قد يقرر جزءًا من حياته العملية، فلا يصح أن يعاد ترتيبه في صمت بعد وقوعه. وحين تحتفظ كل نقلة باسم صاحبها ووقتها، تصبح رواية النظام هي الرواية الوحيدة.
تبقى الأخطاء الحقيقية ظاهرة في السجل بدل أن تمحى، ويكون تصحيحها إضافة معلنة أمام الجميع. وهذا مزعج أحيانًا، لكنه ثمن سجل يقول الصدق.
مراحل تودع قيمتها: تودع كل مرحلة قبل أن تبدأ، وتصرف بعد الموافقة عليها.
أول سؤال حقيقي بين غريبين هو: من يخاطر أولًا؟ والإيداع المسبق يجيب عنه: فالشركة تخاطر بالمال قبل العمل، والمستقل يرى المال محجوزًا قبل أن يكتب سطرًا واحدًا. وقد فصلت الموافقة عن الصرف عمدًا، فلكل خطوة منهما صاحبها.
في كل عقد احتكاك أكثر: خطوات لا بد من فهمها والسير عليها. وكان الطريق الأسهل، وهو فاتورة تدفع بعد العمل، أسرع من هذا، لكنه لا يحمي أحدًا.
قائمة واحدة: المهارة نفسها توصف بها الوظيفة والمشروع والشخص، والمترادفات تدمج.
لو وصفت الوظائف بقاموس والمشاريع بقاموس آخر، لعاش الشخص الواحد بقاموسين، ولاستحالت المطابقة بين الجانبين. فالقائمة الواحدة هي التي تجعل البحث والمطابقة يعملان في الاتجاهين.
القائمة المشتركة تحتاج إلى عناية لا تنقطع: مترادفات تدمج، وتكرارات تنظف، وإلا تدهورت للجانبين معًا لا لجانب واحد.
محجوبة، فلا ترى بطاقات زملائك عن مرشح حتى تسلم بطاقتك أنت.
أول رأي يعلن يجر ما بعده وراءه، وتفقد المقابلات قيمتها حين تتحول إلى صدى لأول من تكلم. والحجب حتى التسليم يجعل كل بطاقة حكمًا مستقلًّا، وهذا هو الغرض كله من تعدد المقابلين.
هي خطوة إلزامية تبطئ الفريق، ومن أراد نظرة سريعة على رأي زميله فلن يحصل عليها قبل أن يكتب رأيه هو.
بدأت من حياة من يعمل بالطريقتين: ملفان، وسمعتان، وتاريخ عمل موزع بين منصتين. ثم فككت العمليتين خطوة خطوة، فإذا هما الطريق نفسه بخطواته الأربع، ولا يختلفان إلا في الخاتمة.
ذهب معظم وقت التصميم إلى النموذج قبل الشاشات: أين تلتقي الوظيفة مع المشروع وأين يفترقان، وما الذي يودع ومتى يصرف، وما الذي يسجل فلا يعدل أبدًا. فالخطأ هنا كان سيكلف إعادة بناء، لا إعادة طلاء.
بنيت النواة أولًا: الهوية، ثم المهارات، ثم المسار وسجله، ثم المال بمراحله، ثم المراسلة والتقييمات والاشتراكات. وكان كل جزء يكتمل للجانبين معًا قبل أن أنتقل إلى ما بعده.
المنصة منشورة وتعمل كاملة، وهي معروضة هنا على حقيقتها: مشروع شخصي، وأوسع دليل منشور على الطريقة التي أبني بها منتجًا كاملًا.
المنصة اليوم مبنية كاملة وتعمل: الجانبان، والمسار، والعقود بمراحلها، والمراسلة، والتقييمات، والاشتراكات. وقد بنيتها لأتعلم من بناء الشيء الحقيقي بكل تفاصيله، وهي الآن أوسع مثال منشور على طريقتي في العمل.
الإيرادات والنمو ملك للعميل. ولا أنشر أرقامًا لم أقسها بنفسي.
منصة حجز لمراكز التجميل: واتساب في الواجهة، ونظام كامل يقف خلفه.
Next.js · TypeScript · Prisma · Neon · Better Auth · WhatsApp Business API
اقرأ القصة كاملةدليل سفر يرافق المسافر في رحلته، ويتعامل مع مقدمي الخدمات مباشرة.
Next.js · TypeScript · Prisma · Neon · Better Auth · Vercel AI SDK
قريبًالديك فكرة، ولا شريك تقني معك، ولا خطوة تالية واضحة أمامك. وهذه هي نقطة البداية المعتادة.
احكِ لي عن فكرتك