Friday Ice Party, ספריית חברים לקהילה סגורה
ספריית חברים פרטית לקהילה דוברת עברית בישראל. הזמנה בלינק אישי ללא סיסמה. והחברים יכולים למצוא זה את זה בעזרת שם, מקצוע ותחביבים משותפים
TypeScriptNext.js 15React 19SupabaseTailwind CSSshadcn/uiOpenAIIron Session
הבעיה
לנהל קהילה עצומה מתוך קבוצת ווצאפ זה סיוט. המארגנים רצו ליוקרת הקהילה וכדי לאפשר לה לגדול, מקום שבו חברים מן המניין מצאו זה את זה - לפי שם, מקצוע,תחום או תחביב. עם אפשרות לחברים להזמין את החברים שלהם כי מה זאת קהילה אם אין רשת חברים אדוקה שמגבה אותה. אבל הרצון הוא שמי שלא הוזמן לא יוכל פשוט להרשם,
לא היה רצון לשלם על פלטפורמת SaaS שלא מתאימה למודל ההזמנות הספציפי שלהם.
התהליך הקיים היה ידני: שרשורי וואטסאפ, גיליונות גוגל, והמון העתק-הדבק. היה אדם שכל תפקידו היה לבדוק בקשות חדשות ולבקש מחברים חדשים להציג את עצמם.

מה זה עושה
Friday Ice היא ספרייה פרטית שמשחזרת את מחזור החיים המלא של חברות בקהילה:

- הזמנה: מנהלים מייצרים מגי'ק לינק עם מספר שימושים ותפוגה; ולכל חבר יש מכסת הזמנות משלו לחלק לאנשים שהוא ערב להם
- הערכה: פרופילים חדשים מקבלים עזרה ממודל AI על איכות תוכן הכרטיס שפתחו ולאחר שהכל תקין הכרטיס עובר למנהל לאישור
- גילוי: חברים מן המניין גלויים לחברים אחרים וחופשיים לחפש אנשים שפגשו בארוע; דף הבית מעלה חברים אחרים בכל טעינה
- פרופיל: כל חבר שולט בכרטיס שלו: תמונה (כולל תמיכה ב-HEIC, פורמט התמונות של אייפון), ביוגרפיה, מקצוע וקישורים חברתיים; כבונוס האתר מייצר קריקטורת AI משעשעת לכל חבר על בסיס תוכן הפרופיל שלו ותמת הקהילה
אין צורך בסיסמאות. האימות הוא מג'ק לינק או ,passkeys כלומר טביעת אצבע שמרגישה טבעית במובייל, ושם רוב המשתמשים נמצאים.

נקודות טכניות
- אימות מודע-הזמנה: כל קישור נושא מגבלת שימושים ותפוגה; טוקן אחד יכול לקלוט קבוצה שלמה או להינעל על אדם יחיד
- מכונת מצבים לחברות: הזמנה, הערכה, אישור ודחייה הם מצבים מפורשים; הממשק חוסם בכל שלב בלי תנאים מפוזרים בקוד
- צינור הערכה ב-AI: פרופילים מנוקדים מול פרומפט שניתן לערוך מממשק הניהול בזמן ריצה; אין צורך בפריסה מחדש כדי לכוונן את הקריטריונים
- הפרדת הרשאות: פעולות ניהול רצות תחת קליינט מוגבר שקיים רק בשרת; שום דבר עם גישת כתיבה לא מגיע לדפדפן

מה למדתי
לקהילה כבר היו תרבות ואופי לפני שהאפליקציה נולדה. העיצוב היה חייב להתאים להם, כהה, חמים, קצת אקסקלוסיבי, ולא להרגיש כמו פאנל ניהול SaaS גנרי שהונח על הגרף החברתי של אנשים.
עברית RTL היא לא רק direction: rtl במקום אחד. היא נוגעת בפריסת טפסים, בעמודות
טבלה, במיקום ההתראות, בשיקוף אייקונים ובכל מחרוזת באפליקציה. לעשות את זה נכון
מהיום הראשון, ולא כשיפוץ בדיעבד, חסך המון כאב.
ההחלטה העיצובית הקשה ביותר הייתה מצב משתמש הרפאים: מי שהתחבר בהצלחה אבל עדיין לא אושר. הוא צריך לקבל משוב בלי לראות מידע על חברים. מקרה הקצה הזה נגע בהקשר האימות, בדף הספרייה, בטופס הפרופיל ובלוח הניהול, הרבה יותר שטח ממה שזה נשמע.