جزء منمركز الإنتاجية

    مدرّب طباعة بدون تجسس

    لماذا بنيت Key Warrior — وما الذي يفعله (ولا يفعله) ببيانات طباعتك.

    من بنى هذا

    أنا ياسر، مطوّر مستقل من الرياض. بدأ Key Warrior كأداة واحدة داخل Productivities.net — Typing Tutor — وتطوّر إلى نطاق فرعي مستقل لأن تدريب الطباعة يستحق مساحته الخاصة: تمارين بملء الشاشة، تخطيطات خالية من التشتيت، وتقدّم تملكه فعلاً.

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

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

    كيف يعمل المحرّك فعلاً

    Key Warrior تطبيق React صفحة واحدة. محرّك الطباعة موجود في src/hooks/useTypingEngine.ts ويعمل بالكامل على أحداث keydown في متصفحك. إليك ما يحدث عندما تضغط مفتاحاً:

    1. تتم مطابقة ضغطة المفتاح مع الحرف المتوقع.
    2. تُحسب WPM كـ (الأحرف الصحيحة ÷ 5) ÷ الدقائق المنقضية.
    3. تُحسب الدقة كـ (ضغطات المفاتيح الصحيحة ÷ إجمالي الضغطات) × 100.
    4. تُكتب نتيجة جلستك — WPM النهائية، الدقة، معرّف الدرس، الطابع الزمني — في localStorage تحت مفتاح واحد لكل ملف شخصي.

    هذا هو خط الأنابيب بالكامل. لا fetch، لا WebSocket، لا navigator.sendBeacon. يمكنك التحقق بنفسك: افتح DevTools → Network → ابدأ درساً → تأكد من عدم وجود طلبات صادرة أثناء الطباعة. XP والـ streaks والمستويات والسجلات الشخصية كلها مشتقة من نفس كتلة localStorage. امسح تخزين متصفحك وستُمحى الصفحة — لا توجد نسخة خادم لسحبها.

    اختبار عدم الاتصال

    لا تثق بادعاء الخصوصية — تحقّق منه. حمّل هذه الصفحة مرة واحدة، ثم افصل الواي فاي. ابدأ أي درس. اكتبه بالكامل. WPM يستمر بالتحديث، XP يستمر بالزيادة، الـ streak يستمر بالعدّ. ذلك لأن لا شيء يُرسل إلى أي مكان — لا يوجد "مكان" لإرساله إليه.

    ما الذي بداخله

    Key Warrior يغطّي أربعة أوضاع تدريب أستخدمها فعلاً:

    • الدروس — تمارين متدرّجة من أساسيات الصف الأوسط حتى علامات الترقيم المتقدمة ونصوص مختلطة بمستوى احترافي.
    • حزم الكلمات — قوائم تكرار الكلمات الشائعة بالإنجليزية والعربية، لتدريب الإنتاجية المستقر.
    • الاختبارات الموقّتة — سباقات 30 ثانية / 60 ثانية / 120 ثانية مع WPM والدقة في النهاية.
    • النص المخصّص — الصق فقرتك الخاصة ودرّبها. مفيد لحفظ مقاطع معيّنة أو ممارسة مفردات تخصّصية.

    الوضع العربي يدعم تخطيط لوحة المفاتيح العربية 101 القياسية. المحرّك يتعامل مع RTL بشكل صحيح، بما في ذلك اتجاه علامات الترقيم.

    حدود صريحة

    أشياء قليلة لا يفعلها Key Warrior عمداً:

    • لا طباعة مُحسَّنة للهاتف. لوحات مفاتيح الشاشة تُصحّح وتتنبّأ ولا تتتبّع توقيت كل مفتاح كما تفعل لوحة المفاتيح الفيزيائية. Key Warrior يعمل على الهواتف لكن أرقام WPM لن تعكس مهارة الطباعة باللمس الحقيقية. إنها أداة سطح مكتب.
    • لا سباقات متعدّدة اللاعبين. يتطلّب ذلك خادماً خلفياً، يعني نظام حسابات، يعني بيانات. تم تخطّيه عمداً.
    • لا لوحات صدارة خارج سجلاتك الشخصية. نفس السبب.
    • لا مبدّل تخطيط خارج QWERTY والعربية 101. دعم Dvorak / Colemak طلب عادل — إذا أردته، رابط التواصل يصل إليّ.

    كيف يُموَّل هذا

    Key Warrior مجاني وسيبقى مجانياً. الموقع الأم، Productivities.net، يعرض إعلانات Google AdSense لتغطية تكاليف الاستضافة والنطاق. الإعلانات في Key Warrior، عند ظهورها، موسومة بوضوح ولا تُدرج أبداً داخل منطقة الطباعة نفسها.

    Google AdSense لا تستقبل ضغطات مفاتيحك أو نتائج جلستك. طباعتك تبقى في متصفحك بغض النظر عمّا يُقدَّم في باقي الصفحة.