01האתגר
ספורט חובבני מתנהל בקבוצות וואטסאפ, בטבלאות אקסל וברצון טוב. למצוא משחק, למלא מקום חסר, לחלק הזמנת מגרש ולשמור על קבוצות מאוזנות, הכול תלוי במארגן אחד שבסוף נשחק.
המוצר היה צריך לפתור את כל הלולאה, לא מסך אחד: גילוי, קבוצות, אירועים, מגרשים, חלוקה הוגנת לקבוצות, צ׳אט והתראות, בחוויה מובייל-פירסט שמתאימה לאנשים לא טכניים.
02הפתרון
KROO בנוי כמונוליט מודולרי על .NET עם אפליקציית React Native ל-iOS ול-Android ואתר נלווה. כל תחום במוצר (קבוצות, אירועים, מגרשים, דירוגים, חלוקה לקבוצות, צ׳אט, התראות, תשלומים, ליגות) הוא מודול נפרד עם מודל תחום משלו, כך שהמוצר יכול לגדול בלי להפוך לסבך.
שחקנים מדרגים זה את זה אחרי משחקים במערכת דירוג עיוורת; אלגוריתם חלוקה משתמש בציונים כדי לבנות קבוצות מאוזנות אוטומטית. צ׳אט בזמן אמת והתראות פוש שומרים על המשחקים מאורגנים, ובעלי מגרשים מנהלים זמינות והזמנות מאותה פלטפורמה.
התשתית רצה על Azure עם PostgreSQL, Redis, SignalR ועבודות רקע, עם פייפליינים של CI/CD שמשחררים למסלולי בדיקה וייצור ולחנויות האפליקציות.
03התוצאה
KROO היא הדוגמה הברורה ביותר לאחריות מקצה לקצה: כל שכבה במוצר, מהסקיצה הראשונה ועד השחרור בחנויות, תוכננה ונבנתה כמערכת אחת קוהרנטית. היא גם ארכיטקטורת הייחוס שעבודות לקוחות מאוחרות יותר נשענות עליה.

