איל הקופירייטר שבנה CRM ב-90 דקות
איל, יועץ שיווקי מירושלים, ניהל את 47 הלקוחות שלו ב-Google Sheet עם 12 כרטיסיות. ב-2026 הוא נשבר, כל פעם שהוסיף שדה חדש, נשבר ה-VLOOKUP במקום אחר. הוא לא backend developer. ביום שלישי בערב פתח Claude Code, ביקש: "בנה לי CRM אישי קטן: לקוחות, פרויקטים, חשבוניות, תשלומים. Supabase backend, Next.js frontend." Claude שאל 4 שאלות (אם יש pre-existing schema, איזה אזור בעולם, האם RLS, ו-multi-user או single-user), הקים project ב-supabase.com, כתב migration עם 4 טבלאות + foreign keys + indexes, הפעיל RLS עם policy שמתאימה ל-single-user, יצר TypeScript types אוטומטית, וחיבר ל-Next.js frontend עם CRUD מלא. 90 דקות אחר כך, איל היה ב-CRM שלו, מוסיף לקוח חדש מהממשק. עלות: $0 (Supabase free + Vercel free). הסיפור הזה לא נדיר, הוא ה-default החדש בזכות ה-Claude connector הרשמי שיצא במרץ 2026.
מה זה ולמה זה משנה
Supabase היא Backend-as-a-Service open-source, חלופה ל-Firebase מבית של מי שלא רוצה lock-in ב-Google. תחת המכסה: Postgres אמיתי (לא NoSQL מתחזה), עם authentication built-in, storage לקבצים, realtime subscriptions, ו-Edge Functions ל-serverless code. ה-tier חינמי כולל 500MB DB, 1GB storage, 50K משתמשים פעילים בחודש, ו-2 פרויקטים. ל-MVP ישראלי בודד, זה הרבה.
השינוי הגדול במרץ 2026 היה הפיכת Supabase ל-Claude connector רשמי. עד אז, חיבור Claude ל-DB שלך דרש לכתוב MCP config ידנית, להעביר tokens, ולקוות שזה עובד. עכשיו: יש endpoint hosted ב-mcp.supabase.com, פקודת claude mcp add אחת, ו-Claude יכול לתכנן schemas, לכתוב migrations, להריץ queries, להפעיל RLS, ולייצר TypeScript types, כל זה משיחה בעברית.
למה זה משנה לישראלי שאינו backend developer: הפעולות הכי "מפחידות" ב-DB (כתיבת SQL, normalization, foreign keys, RLS policies) הופכות לתיאור בעברית. אתה לא לומד Postgres, אתה מתאר את העסק שלך, ו-Claude מתרגם.
התקנה, שלב אחרי שלב
זמן setup ראשוני: 7-10 דקות. אחרי זה, פרויקט חדש = 60 שניות.
# 1. הרשמה ל-Supabase
# פתח https://supabase.com -> Sign up with GitHub
# New Project -> בחר region (Frankfurt eu-central-1, הכי קרוב לישראל)
# בחר database password חזק -> שמור ב-1Password
# 2. השג access token לחיבור MCP
# Account Settings -> Access Tokens -> Generate New Token
# העתק את ה-token (sbp_...)
# 3. השג project URL ו-anon key
# Project Settings -> API
# העתק: Project URL + anon public key
# 4. הוסף Supabase MCP ל-Claude Code (פעם אחת לכל המכונה)
claude mcp add supabase https://mcp.supabase.com \\
--header "Authorization: Bearer YOUR_SUPABASE_TOKEN"
# 5. בדוק שהחיבור פעיל
claude
# בתוך השיחה:
# "List my Supabase projects" -> אמור להחזיר את הפרויקט שיצרת
# 6. שמור secrets ב-.env.local (לא ב-git)
echo "NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co" > .env.local
echo "NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ..." >> .env.local
echo ".env.local" >> .gitignore
חשוב: ב-step 4 אתה משתמש ב-personal access token, לא ב-anon key. ההבדל קריטי, ה-anon key הוא public והולך ל-frontend. ה-personal token הוא לחיבור ה-MCP בלבד, ונשאר במכונה שלך.
Workflow מעשי
תרחיש: בנייה של רשימת המתנה (waitlist) ל-MVP. בתוך פרויקט Next.js קיים, פותחים Claude Code ושיחה אחת:
Goal: design + implement a waitlist database for an Israeli AI tool.
Fields needed: name (text), email (unique), referral_source (text, optional),
signed_up_at (timestamp default now), is_verified (bool default false).
Requirements:
- Use my Supabase project (call list_projects to find it)
- Write the migration SQL
- Apply it via apply_migration
- Enable RLS with policy: anyone can INSERT, only authenticated admin can SELECT/UPDATE/DELETE
- Generate TypeScript types and save to types/supabase.ts
- Create a Next.js server action that inserts a row
- Test with one fake signup
Return: migration SQL, RLS policy SQL, TS types path, and live test result.
Claude יחזיר plan, יישם, ויחזיר תוצאה אמיתית, לא דמה. אחר כך, השאלה "Show me the last 10 signups" מחזירה rows אמיתיים מה-DB. "Add a column for utm_source and create a migration", migration חדש, applied, types updated. כל זה בלי לפתוח את ה-SQL editor של Supabase.
Tradeoffs כנים
- RLS חובה לפני go-live, לא אופציונלי: ב-default, כל טבלה ב-Supabase פתוחה לקריאה דרך ה-anon key (שיוצא ל-frontend). אם תפרסם MVP בלי להפעיל RLS, כל אחד יכול לקרוא את כל ה-DB שלך עם
curl. Claude יזכיר, אבל אתה האחראי. לעולם אל תפרוס פרויקט ציבורי בלי policies. - Free tier paused אחרי שבוע: אם הפרויקט שלך לא מקבל פעילות במשך 7 ימים, Supabase "מקפיא" אותו לחיסכון משאבים. אתה צריך לפתוח dashboard ולוחץ "Restore" כדי שיחזור. ל-MVP בעיצומו של פיילוט, לא בעיה. ל-side project שאתה ננטוש לחודש, בעיה.
- Read-only mode ב-production: ב-MCP יש flag
read_only=trueשכדאי להפעיל כשאתה עובד מול DB פרודקשן עם data אמיתי של לקוחות. בלי זה, פרומפט עם typo יכול למחוק טבלה. הפעל read_only כברירת מחדל וכבה רק כשאתה ב-migration mode. - 500MB DB cap: נשמע הרבה ל-MVP, אבל אם אתה אוגר logs/events ב-DB (במקום ב-tool ייעודי כמו Logflare), אתה מגיע ל-cap תוך חודשיים. אל תאחסן
console.logב-Postgres. - Secrets, לא בקוד, לא ב-git: service_role key (לא anon) הוא admin מוחלט ל-DB. אם הוא ידלוף ל-git, מישהו יכול למחוק לך את הכל. השתמש ב-environment variables ב-Vercel/Netlify, לא ב-
.envשמסונכרן.
טיפ מתקדם
השילוב Supabase + Claude + Vercel הופך ל-stack המלא של MVP בעברית. תהליך מומלץ: צור branch חדש בפרויקט Supabase לפני כל migration גדולה (Supabase תומכת ב-database branches דומה ל-git branches). Claude יכול ליצור branch, להריץ migration עליו, לבדוק שהכל עובד, ולמזג ל-main רק אחרי אישור. זה אומר שטעות ב-schema לא הורסת data. הפרומפט: "Create a new Supabase branch called 'add-billing'. On that branch, add a billing_events table with these columns... If tests pass, merge back to main." Claude מבצע את כל ה-flow כולל cleanup של ה-branch אחרי merge. עבודה כמו backend dev מקצועי, בלי להיות אחד.
