אני בונה אייג׳נטים!! פרק 16 — למה אני עוצר עם Supabase ועובר ל-Convex
בשנתיים האחרונות בניתי המון אפליקציות עם Supabase, לימדתי אותו, המלצתי עליו לבילדרים אחרים, ובאמת חשבתי שזה הסטנדרט. כל מדריך AI שני שמייצרים היום פותח עם supabase init וזה הפך לרפלקס כמעט אוטומטי. בחודשים האחרונים, כשהתחלתי להריץ יותר ויותר פרויקטים עם Claude Code ועם סוכנים אגנטיים, גיליתי משהו שהתחיל להציק לי — שהכלי שהיה נוח כשבניתי לבד הופך למכשול דווקא כשהבנייה עוברת ל-AI.
הבעיה הראשונה — שני מוחות נפרדים
Supabase מפצל את הראש של הסוכן לשני מוחות נפרדים: מצד אחד הקוד של האפליקציה עם הלוגיקה והפיצ’רים, ומצד שני הדשבורד של Supabase עם הטבלאות, ה-RLS policies והכללים. הסוכן צריך לקפוץ בין שני העולמות האלה כל הזמן, ולעיתים קרובות אתם תיאלצו ללחוץ ידנית על כפתורים בדשבורד כדי שמשהו יעבוד.
ב-Convex לעומת זאת, סכמת הדאטהבייס, ההגדרות, החוקים והלוגיקה העסקית כולם חיים בתוך הקוד עצמו, בקבצי TypeScript, וכך הסוכן רואה את הכול במקום אחד, מבין הכול, ויכול לשנות הכול בלי לעבור בין ממשקים. זה הבדל ענק כשעובדים בלולאות אוטומטיות עם Claude Code.
הבעיה השנייה — סביבת פיתוח
בשביל לבדוק שינויים בלי לשבור משתמשים בפרודקשן צריך staging environment, וב-Supabase זה דורש הגדרה ידנית, תשלום נוסף, ומורכבות שלא משתלמת לעבור עבור פרויקטים קטנים. אני יודע על עצמי שזה גרם לי להימנע מלהוסיף פיצ’רים לאפליקציות פרודקשן שלי, כי הסיכון לשבירה היה גבוה מדי והעלות הקוגניטיבית של תכנון מקיף לא היה לי כוח אליה.
ב-Convex אתם מקבלים deployment נפרד לפיתוח ולפרודקשן באופן אוטומטי וחינמי מהשנייה הראשונה. אפשר לשבור את סביבת הפיתוח כל היום והמשתמשים לא יראו כלום.
הבעיה השלישית — מודל התמחור
זו לטעמי הכואבת ביותר. במסלול החינמי של Supabase מותר רק שני פרויקטים פעילים, ואם רוצים שלישי צריך להשהות אחד מהקיימים, מה שהופך אותו זמנית בלתי נגיש. הכאב האמיתי מתחיל כשעוברים למסלול בתשלום, כי החיוב הוא ברמת הארגון ולא הפרויקט, וברגע שמשדרגים ארגון אחד למסלול Pro כל הפרויקטים בתוכו הופכים אוטומטית למסלול בתשלום של מינימום עשרה דולר לחודש לכל פרויקט.
אם יש לכם חמישה רעיונות שאתם משחקים איתם בזמן נתון, אתם יכולים בקלות להגיע לחמישים דולר חודשיים על אפליקציות בלי משתמש אחד. ב-Convex מודל החיוב הוא לפי שימוש בפועל, והמסלול החינמי כולל הרבה פרויקטים שלא נסגרים אוטומטית, מה שמעודד אתכם להתנסות, להשיק, ולהיכשל מהר בלי שזה יחתוך לכם בכרטיס האשראי.
הבעיה הרביעית — אינטגרציות חיצוניות
אפליקציה אמיתית צריכה לדבר עם Stripe לתשלומים, עם Resend למיילים, עם OpenAI או Claude למודלים, ולעיתים קרובות עם וובהוקים נכנסים. ב-Supabase לחבר ולבדוק וובהוק מקומי דורש להתקין כלי טרמינל של Stripe, להעלות bridge לאינטרנט, להזין URL זמני, וכל זה לפני שכתבתם שורה אחת של לוגיקה אמיתית.
ב-Convex כל קוד ה-backend חי בענן שלהם ומסונכרן אוטומטית מהמחשב שלכם, ולכן הסוכן יכול לכתוב webhook handler או scheduled task והוא פשוט עובד, בלי תשתית בדיקה נוספת.
הבעיה החמישית — ריאקטיביות
אפליקציה מודרנית צריכה להתעדכן מיידית — ככה שאם אתם משנים משהו בטלפון זה מתעדכן באותו רגע על המחשב שלכם. ב-Supabase להפעיל את זה דורש קוד נוסף, הגדרת channels, ניהול subscriptions, ועוד שכבת תחזוקה שיכולה להישבר.
ב-Convex כל query שאתם כותבים הוא אוטומטית reactive, ברירת המחדל היא שעדכונים בדאטה נדחפים לכל המשתמשים בזמן אמת, וזה משדרג את התחושה של האפליקציה ממנה שמרגישה איטית למשהו שזורם.
מתי בכל זאת Supabase
חשוב לי לומר שגם אחרי כל מה שכתבתי כאן, Supabase הוא עדיין כלי מצוין, ויש מקרים שבהם הוא יהיה הבחירה הנכונה. אם אתם בונים אפליקציה כבדת נתונים שצריכה SQL מורכב, joins רבים, אנליטיקה רצינית, או אם אתם מתעקשים על open source מלא עם self-host, Supabase יישאר על הפודיום.
אבל כשמדובר בבנייה מהירה עם סוכנים, באפליקציות שצריכות ריאקטיביות מובנית, או בפרויקטים שצריכים להתחיל מאפס ולרוץ בלי תקורה ניהולית, Convex הפך עבורי לבחירת ברירת המחדל החדשה, וגם הסוכנים האוטונומיים שלי כותבים איתו קוד הרבה יותר נקי ועובד.
נסו את זה
בפרויקט הבא שאתם פותחים, נסו לפתוח אותו עם npm create convex@latest במקום עם supabase init, ותרגישו את ההבדל תוך חצי שעה.