كيف جذبت المستخدمين لتطبيقي لتحويل كشوفات البنك وحققت 46.9 ألف ريال شهريا
بناء أداة اشتراكات رقمية بسيطة بدون إعلانات والوصول إلى ربح مستقر من خلال كلام الناس عن المنتج
Angus Cheng بنى Bank Statement Converter وهي أداة تستخرج بيانات المعاملات من ملفات PDF الخاصة بكشوفات البنك. المنتج يُستخدم من محاسبين وأصحاب مشاريع صغيرة. الربح الشهري المتكرر وصل إلى 46.9 ألف ريال، وبدون أي إنفاق على إعلانات
- المؤسس
- Angus Cheng
مرحبا، من أنت وأي عمل بدأت
أنا Angus Cheng وبنيت Bank Statement Converter. هذه الأداة تستخرج بيانات المعاملات من ملفات PDF الخاصة بكشوفات البنك. يستخدمها المحاسبون وأصحاب المشاريع الصغيرة.
الربح الشهري المتكرر لـ Bank Statement Converter وصل إلى 46.9 ألف ريال. يمكنك مشاهدة رسم بياني محدث للأرباح على Indie Hackers.
قصتك وكيف جاءتك الفكرة
بدأت أستمتع بالبرمجة من وأنا في السادسة عشرة. درست علوم الحاسب في الجامعة وعملت بشكل مستقل كمطور ألعاب indie لعدة سنوات. بعدها عملت كمبرمج ألعاب، ثم مبرمج تطبيقات جوال، ثم مبرمج ويب، وفي النهاية عملت مبرمجا في Credit Suisse. الكود الخاص بي لم يكن مسؤول عن سقوط Credit Suisse.
في 2020 انضممت لشركة في مجال العملات المشفرة. هناك تعلمت أن العمل مع فريق كبير من أشخاص غير أكفاء ليس ممتعا. تركت الشركة في نهاية 2020 لأعمل لحسابي الخاص. كنت قد جمعت الكثير من المال أثناء العمل وشعرت أن بإمكاني العيش من المدخرات لمدة 5 سنوات أو أكثر.
كيفك اليوم وكيف المستقبل
Bank Statement Converter كانت مربحة منذ أوقفت إعلانات Google Search. لكن كـ indie hacker بدوام كامل الربح ليس كافي. أحتاج أستطيع أدفع الإيجار.
تكاليف اكتساب العملاء: 0 ريال. لا أنفق أموال على إعلانات.
تكاليف الإعلانات: 0 ريال
العائد على الإنفاق الإعلاني: لا ينطبق
قيمة العميل مدى الحياة: 680 ريال
الزيارات الشهرية: 11 ألف زائر فريد
متوسط وقت البقاء: دقيقتان و58 ثانية
معدل التحويل: في آخر 30 يوم، 7725 مستخدم فريد رفعوا PDF و103 مستخدمين فريدين اشتروا اشتراك.
مشتركي البريد: لا، ليس لديّ قائمة بريد.
متابعين وسائل التواصل: Bank Statement Converter لا تملك حسابات وسائل تواصل. عندي 1565 متابع على Twitter.
النمو سنة على سنة: الأرباح آخر 12 شهر: 472.3 ألف ريال. الأرباح آخر 12 شهر السابقة: 135.8 ألف ريال. نمو 247 في المائة في آخر 12 شهر.
العمليات: الآن أقضي الكثير من الوقت في خدمة العملاء. عندي خطة لإنشاء واجهة تسمح للمستخدمين بتعريف الشكل الذي يريدون النتائج فيه. باستخدام ذلك الخادم سيستخدم استراتيجيات مختلفة للحصول على نفس النتائج. الفكرة بدل ما أبني الإعدادات بنفسي، سأجعل المستخدم يرشد Bank Statement Converter كيفية الحصول على البيانات.
لو نجح هذا سيوفر عليّ الكثير من الوقت.
التوسع
خطوات بناء المنتج
في مارس 2021 أردت تحليل أموالي الشخصية. حاولت الحصول على كل بيانات المعاملات من البنك لكنهم أعطوني فقط ملفات PDF. لم أستسلم، كتبت كود بلغة Kotlin لاستخراج البيانات. احتاج إلى أكثر من 10 ساعات لكتابة سكريبت يفعل ما أريد.
فكرت إذا كنت أريد هذا، ربما شخص آخر يريده أيضا. قررت تحويل السكريبت إلى تطبيق ويب. اتصلت بصديقي Dominic واقترحت عليه أن نشرب بيرة معا. اجتمعنا وشرحت له الفكرة. اقترحت عليه أن يعمل على الواجهة الأمامية وأنا على الخادم. وافق. التقينا في اليوم التالي وقضينا اليوم كاملا نعمل على التطبيق.
قرأت قليلا من كتاب The Lean Startup في 2013 (بدون إنهاءه، وهذا يتوافق مع روح الكتاب)، ومنذ ذلك الحين أدركت أهمية إطلاق منتج بأقل مواصفات ممكنة.
اتفقنا على مواصفات بسيطة جدا للإطلاق. صفحة واحدة يرفع فيها المستخدمون ملف PDF الخاص بكشف البنك. بعد الرفع يحصل المستخدم على ملف CSV. قضينا بعض الوقت في إعادة صياغة الـ APIs. في البداية اعتقدت أننا نحتاج فقط API واحد يأخذ ملف PDF ويرد CSV.
POST /api/v1/BankStatement
لم ينجح هذا كثيرا. ماذا لو كنت ترفع 100 ملف وفشل واحد منهم؟ كان عليك رفع الكل من جديد. ماذا لو احتاج ملف PDF لكلمة سر؟ في النهاية انتهينا بثلاثة APIs.
1) POST /api/v1/BankStatement
2) POST /api/v1/BankStatement/setPassword
3) POST /api/v1/BankStatement/convert
الأول يسمح لك برفع ملف PDF ويرد لك UUID للملف الذي رفعته
الثاني يسمح لك بإدخال كلمة سر للملف
الثالث يسمح لك بتوفير مصفوفة من UUIDs تمثل ملفات PDF تم رفعها
بسرعة كان لدينا التطبيق يعمل بشكل جيد محليا. ركزنا بعدها على وضعه في الإنتاج. كان يعني فعل الأشياء التالية:
خلال أسبوع أنهينا كل هذه الأشياء وكان التطبيق حيا على الإنترنت. في هذه النقطة كنا نفتقد الكثير من الميزات المهمة. لم نكن نملك تسجيل أو معالجة دفعات أو صفحة معاينة النتائج. بصراحة، لو استخدمت التطبيق عند الإطلاق، ربما لم يعمل معك. أنشأت الخوارزمية العامة باستخدام كشوفات من خمسة بنوك.
بعد أن صار حيا على الإنترنت اشترينا إعلانات Google Search. فورا بدأ الناس يرفعون كشوفات بنك. تحققنا من أن الناس يريدون المنتج ببناء منتج بأقل مواصفات ممكنة.
للخادم استخدمت:
عملية إطلاق المشروع
لم نفعل شيء خاص في الإطلاق. الهدف كان إيصال التطبيق للإنتاج بأسرع وقت ممكن ثم تحسين المنتج يوميا. لا توجد صفحة هبوط حقيقية لـ Bank Statement Converter. تدخل الموقع وتستطيع فورا رفع ملف PDF. أردت عدم وجود أي عوائق أمام المستخدمين.
نبيع اشتراكات لـ Bank Statement Converter بأسعار مختلفة حسب عدد صفحات المستخدم المتوقع تحويله. حزمة Starter تكلف 110 ريال شهريا لـ 400 صفحة وحزمة Business تكلف 370 ريال شهريا لـ 4000 صفحة. نقدم أيضا أسعار مخصصة للأشخاص الذين يحتاجون تحويل الكثير من ملفات PDF.
الاستخدام نما بشكل ثابت منذ الإطلاق. لم يكن هناك حدث أدى لأن يستخدم الكثير من الناس Bank Statement Converter. يبدو أنه ينتشر من خلال كلام الناس عن المنتج.
قبل الإطلاق اعتقدت أن الكثير من المستخدمين سيطلبون نسخة محلية. قضيت الكثير من الوقت في التفكير بكيفية بناء نسخة محلية من Bank Statement Converter. قررت استخدام JavaFX. بدأت حتى العمل عليها. لكن لا أحد طلبها مني. كانوا راضين عن نسخة الويب. هذا علمني درسا، لا تبني شيء إلا إذا طلبه منك عميل.
ما الذي نجح لجذب والاحتفاظ بالعملاء
حاولت عدة أشياء لجذب العملاء.
إعلانات التكلفة لكل نقرة. في الستة أشهر الأولى أنفقت حوالي 4 ألف ريال شهريا على Google Search Ads. للأسف حققت أموال أقل بكثير من ما أنفقته على الإعلانات:
أبريل 2021 - 0 ريال
مايو 2021 - 380 ريال
يونيو 2021 - 600 ريال
يوليو 2021 - 1 ألف ريال
أغسطس 2021 - 870 ريال
سبتمبر 2021 - 980 ريال
في نهاية سبتمبر أطفأت إعلانات Google Search.
البريد البارد. حول نفس الوقت فكرت بإرسال رسائل بريد باردة لشركات محاسبة. وجدت أداة رائعة اسمها lemlist.com تستطيع أتمتة العملية. استأجرت شخص من upwork.com لجمع عناوين بريد شركات محاسبة. أدخلت البريد في Lemlist وأنشأت قالب وجدولت رسائل لشهور.
الناس قرأوا الرسائل وأحيانا ردوا بغضب.
كانت المبيعات منخفضة جدا في ذلك الوقت لدرجة أني استطيع أن أتتبع عقليا من أين جاء كل عميل. من ما أتذكر، شخص واحد فقط اشترى اشتراك من أكثر من 1000 بريد أرسلناه. نسبة تحويل سيئة جدا.
كما أخطأت مع LemList. أعددته لإرسال بريد واحد كل 20 دقيقة 24 ساعة يوميا. LemList يتكامل مع Gmail/GSuite. لو كنت ترسل رسائل 24 ساعة يوميا Google تعتبرك بوت. فعلت ذلك معي، وحظرت حسابي في GSuite.
لحسن الحظ استطعت نقل رسائلي من GSuite إلى Fastmail. بعد أن حظرت من GSuite قررت التوقف عن إرسال رسائل غير مرغوبة. لا يعتبر غير قانوني لكن عليك الحذر في كيفية فعله. أنا متأكد أن البريد البارد يستطيع أن ينجح لكني لم أستطع جعله مربح عندما حاولت.
تسويق المحتوى. في أغسطس 2021 صديقي بدأ يكتب منشورات مدونة تقنية عن كيفية عمل البورصات بناء على خبرته في بورصة عملات مشفرة. كانت منشوراته رائعة وحصل على الكثير من المشاهدات. حول نفس الوقت قرأت منشور من شخص في plausible.io عن كيفية وصلوا إلى 500 ألف ريال سنوي متكرر. قررت جرب تسويق المحتوى.
أعددت مدونة Hugo وأحيانا أكتب منشور. كتبت منشور عن كيفية قللت استخدام الذاكرة وظهر على الصفحة الأولى من HackerNews. لكن لم ينتج عنه أي مستخدمين مدفوعين إضافيين.
في الرسوم البيانية أدناه تستطيع أن ترى ارتفاع كبير في عدد الأشخاص الذين يأتون للموقع، لكن لا زيادة في الأرباح.
كتابة منشورات المدونة تساعدني أفكر فيما أريد أن أبني، تبني أيضا روابط خلفية. أعتقد أنها نشاط يستحق العناء لكن من الصعب عليّ قياس التأثير الذي تحدثه على الأرباح. تستطيع أن تجادل بـ أشخاص يقرأون هذه المنشورات مما يرفع ترتيبك في Google Search مما يؤدي إلى مستخدمين أكثر مما يؤدي إلى أرباح أكثر. قد يكون صحيح لكني لا أستطيع إثباته.
دعم المزيد من البنوك. Bank Statement Converter يعمل بتحديد البنك الذي جاء منه الكشف، ثم تشغيل كود معين لذلك البنك. إذا لم نستطع تحديد البنك نشغل كود عام للكشف. إذا لم تكن نتائج التحويل جيدة عادة عميل سيخبرني ويعطيني ملفات PDF.
بعدها أنشئ الإعدادات لذلك البنك. مع الوقت احتمالية أن يرفع شخص كشف لا نسنده تقل.
في صيف 2022 كنت أتحدث مع شركة fintech أرادت تحويل 10 آلاف وثيقة شهريا. أرادوا ضمان دقة Bank Statement Converter. قلتهم لا أستطيع أعد 100 في المائة دقة لكن لو أعطوني نسخة من ملفات PDF عندهم استطيع أحلل وأعرف كم عمل يحتاج لدعم كل البنوك. وافقوا وقضيت الأشهر التالية ببناء إعدادات لكل الكشوفات.
بعد ذلك اختاروا اشتراك عالي القيمة. تأثير جانبي للعمل هو أن احتمالية أن يشترك مستخدم زاد بشكل ضخم. مما له معنى. لو رفعت كشف ولم يتحول بشكل صحيح لن تشترك. لو تحول بشكل صحيح قد تشترك.
الاحتفاظ بالعملاء. لتطبيقي لا توجد حقيقة خدعة للاحتفاظ بالعملاء. إذا كان لشخص شيء لمرة واحدة لتحويل مجموعة من الملفات لا يوجد شيء أستطيع فعله للاحتفاظ به بعد إنهاء المهمة. عملاء مثل محاسبين يحتاجون لمعالجة ملفات PDF طول السنة. سيستمرون بالدفع للبرنامج طالما يعمل.
هل تعلمت أشياء مفيدة أثناء بدء المشروع
افعل الوظيفة قبل تعيين أحد
في منتصف 2021 استأجرت شخص لمساعدتي في إعداد تسويق البريد البارد. الرجل الذي استأجرته لم يفعل الكثير. بعد أسبوعين من العمل راجعت عمله. بدا أنه لم يفعل الكثير والذي فعله لم يكن جيد. كان قد أعد قالب يفترض وجود متغيرات.
افعل أشياء لا تقاس
هذا شيء أشخاص في YCombinator يذكرونه الوقت. في البداية كنت آمل عمل خوارزمية عامة تعمل مع كل كشوف بنك. اعتقدت أن خوارزمية عامة تنتج نتائج كافية لمستخدم ويستطيع تنظيف البيانات بنفسه بعدها.
كان لديّ سياسة أفعل أي شيء يطلبه عميل والطريقة الوحيدة لعمل ذلك كانت تشغيل مسارات كود مختلفة لكشوفات مختلفة. فعلت هذا وتحسنت النتائج لتلك الكشوفات وزادت المبيعات.
ساعدني أيضا أدرك أن المنتج الذي كنت أحاول بناءه لن يكون جيد بما يكفي للعملاء.
اكتب اختبارات
عندما عملت في Credit Suisse الشباب الذين عملت معهم كانوا مجنونين بكتابة اختبارات. في البداية اعتقدت أنها إهدار وقت. لاحقا أدركت أنها تساعدك توثق النظام وتسمح لك بعدم التفكير كيفية يعمل التطبيق. سابقا عندما كنت أطور تطبيقات كنت أحتفظ بكل النظام في بالي.
راقب مقاييس الأعمال
أشغل لوحة معلومات Grafana تظهر الكثير من مقاييس الأعمال. إنها طريقة جيدة لمراقبة الأخطاء والاستخدام وبيانات المبيعات. هذا يساعدني اكتشف المشاكل مبكرا وأصحح مشاكل العملاء.
أدوات المنصات الذي تستخدمها
أكثر الكتب والبودكاستات والموارد تأثيرا
نصيحتك للرواد الجدد
الكثير من الناس يتحدثون ويخططون لكن لا ينفذون فعلا. التنفيذ أكثر أهمية من التخطيط وشخص واحد يستطيع فعل الكثير.
أين نستطيع نتعلم أكثر
لو كان عندك أسئلة أو تعليقات اترك تعليق أسفل.