פיתוח אפליקציית קואצ'ינג: מהזמנות ועד תשלומים
תארו לעצמכם מאמן שמבלה 20% מהזמן שלו בתיאום ידני של זמני פגישות עם לקוחות דרך הודעות. כל פגישה כוללת הודעות הלוך ושוב, תזכורות וביטולים. לקוחות שוכחים לשלם, והמאמן מפסיד הכנסות. אפליקציית קואצ'ינג פותרת בעיות אלו באמצעות אוטומציה: הזמנות, תשלומים, יומן, מעקב הרגלים—הכל במקום אחד. אבל היישום מסובך יותר ממה שזה נראה: צריך להתחשב באבטחת מידע, אזורי זמן ותרחישי תשלום גמישים. בנינו עשרות אפליקציות קואצ'ינג במשך 5+ שנים ואנחנו יודעים איך להימנע ממלכודות נפוצות. במאמר זה, נפרק מודולים מרכזיים: מגלגל החיים ועד התראות push. נראה כיצד ליישם הזמנות גמישות עם תמיכה באזורי זמן, ולמה Stripe לרוב מנצחת את הרכישות בתוך האפליקציה של אפל—החיסכון בעמלות יכול להגיע ל-27%.
הזמנת פגישות: עורך זמינות גמיש
אינטגרציה עם Calendly או תהליך הזמנה מותאם אישית. היישום שלנו משתמש בטבלת time_slots, בדומה לפלטפורמות מנטורינג. ההבדל: מאמנים עובדים לעתים קרובות בלוח זמנים נוקשה (למשל, רק בימי שלישי 10:00–18:00) וצריכים עורך זמינות גמיש.
עורך הזמינות של המאמן כולל תבנית שבועית (ימי השבוע + שעות התחלה/סיום) בתוספת חריגים. מודל RecurringSchedule: dayOfWeek, startTime, endTime. חריגים (חופשות, חגים) נשמרים כ-blocked_dates. בעת ההזמנה, אנו מחשבים משבצות פנויות לשבועות הקרובים, תוך התחשבות בתקופות מוזמנות וחסומות.
אזורי זמן הם חובה. מאמן במוסקבה, לקוח בלונדון. כל המשבצות נשמרות ב-UTC ומומרות לשעה מקומית אצל הלקוח. השתמשו ב-TimeZone.current (iOS) / ZoneId.systemDefault() (אנדרואיד) כדי לקבוע את אזור הזמן של המכשיר. השתמשו ב-DateComponentsFormatter לתצוגה קריאה כמו "בעוד שעתיים".
בחירה בין Calendly לפיתוח מותאם אישית: Calendly נותן התחלה מהירה וממשק מוכן אבל מגביל התאמה אישית ודורש עמלות API. תהליך הזמנה מותאם אישית לוקח 1–2 שבועות של פיתוח backend אבל נותן שליטה מלאה על העיצוב והלוגיקה—למשל, אפשר להוסיף כללי זמינות מותאמים או אינטגרציה עם CRM. לפרויקטים עם דרישות ייחודיות, האפשרות השנייה משתלמת בזכות הגמישות.
כלי קואצ'ינג בתוך האפליקציה
גלגל החיים – תרשים מעגלי עם 8–12 תחומי חיים (קריירה, בריאות, מערכות יחסים, כספים וכו'). הלקוח מדרג כל תחום בסולם 1–10. אנו מציירים אותו באמצעות Core Graphics / Canvas ב-Compose: UIBezierPath למקטעים ב-iOS, Path ב-Compose באנדרואיד. אנימציה בשינוי דירוג – withAnimation (SwiftUI) / animateFloatAsState (Compose).
היסטוריית גלגל החיים – הצגת שינויים לאורך חודש/רבעון. שני גלגלים מונחים זה על זה (נוכחי וקודם) עם שקיפות דרך UIColor.withAlphaComponent().
יומן התקדמות – רשומות יומיות/שבועיות של הלקוח. Markdown או טקסט עשיר דרך UITextView עם סרגל כלים מותאם למודגש/נטוי. שמירה מקומית (Core Data / Room) + סנכרון לשרת. המאמן רואה רשומות רק אם הלקוח משתף אותן במפורש – דרך מתג בהגדרות.
שאלות רפלקטיביות – המאמן יוצר תבניות שאלות לשיעורי בית. הלקוח עונה באפליקציה. שאלה + תשובה בפורמט טקסט + אפשרות לצרף הערת קול (דרך AVAudioRecorder).
מעקב הרגלים – רשימת משימות פשוטה של הרגלים יומיים. UITableView עם UISwitch או Compose Checkbox. רצף – ימים רצופים, אלמנט מניע. Calendar.current.dateComponents([.day], from:to:) לחישוב הרצף.
איך לאחסן בצורה מאובטחת הסכמה להקלטת פגישה?
פגישת וידאו – מובנית (100ms, Daily.co) או קישור חיצוני. אחרי הפגישה – שדה להערות המאמן (תובנות מרכזיות, צעדים הבאים). הלקוח מקבל הודעה שהערות נוספו.
הקלטת אודיו (בהסכמת הלקוח) – AVCaptureSession עם AVCaptureAudioDataOutput. הקלטה ל-M4A, העלאה לשרת. שמירת ההסכמה כדגל consent נפרד עם חותמת זמן במסד הנתונים.
תמלול אודיו – SFSpeechRecognizer (iOS, לא מקוון במכשיר לשפות נתמכות) או OpenAI Whisper API דרך השרת לדיוק ותמיכה רב-לשונית.
למה אפליקציות קואצ'ינג בוחרות לעתים קרובות ב-Stripe על פני App Store?
PaymentSheet של Stripe לפגישות חד-פעמיות ו-Stripe Billing לחבילות. מנויי iOS App Store (StoreKit 2) רק אם הקואצ'ינג נמכר כ"תוכן בתוך האפליקציה" – אבל רוב אפליקציות הקואצ'ינג עובדות דרך Stripe (טופס תשלום אינטרנטי) ללא IAP. חבילה של 10 פגישות – Product עם type: .nonConsumable ב-StoreKit (בשימוש חד-פעמי, לא משוחזר במחיקת האפליקציה). או חבילה כמנוי עם תקופת שימוש מוגבלת.
| היבט | Stripe (תשלומים חיצוניים) | App Store / Google Play (IAP) |
|---|---|---|
| עמלה | ~2.9% + $0.30 | 15–30% על הכנסות עד $1M |
| גמישות | שליטה מלאה על מוצרים | סוגי מנויים מוגבלים |
| דיווח | אינטגרציה עם כל מערכת הנהלת חשבונות | רק דוחות אפל/גוגל |
| חוויית משתמש | טופס אינטרנטי, מעבר הקשר | חלק בתוך האפליקציה |
Stripe זולה פי 5–10 עבור נפחי מכירת פגישות אופייניים.
מה כלול בעבודה
- מפרט טכני ואב-טיפוס UI/UX
- פיתוח backend (REST/GraphQL) + לקוח (iOS/אנדרואיד)
- אינטגרציית תשלומים (Stripe / StoreKit)
- פרסום ב-App Store וב-Google Play
- תיעוד API וניהול (Swift Package Manager לתלויות, Fastlane ל-CI/CD)
- העברת גישה והדרכת צוות
- תמיכה באחריות ל-3 חודשים
תהליך ולוחות זמנים
| שלב | MVP | סט מלא של תכונות |
|---|---|---|
| הזמנות + פרופילים + פגישות וידאו + push | 5–7 שבועות | 2–3 חודשים |
| גלגל החיים + יומן + הרגלים + רפלקציה + מנויים | — | 2–3 חודשים |
העלות מחושבת לאחר ניתוח דרישות. צרו קשר להערכת פרויקט – נמצא את הפתרון האופטימלי במפתח פתוח. קבלו ייעוץ על הארכיטקטורה של האפליקציה שלכם – נשתף כיצד להימנע ממלכודות נפוצות בבחירת ערימת טכנולוגיות.







