בניתי אפליקציית אימייל עם AI וכך עשיתי זאת

שיתוף

מפתח בונה אפליקציית אימייל עם בינה מלאכותית על מסך מחשב נייד
תיעוד מלא של תהליך בניית אפליקציית אימייל עם AI — מהרעיון הראשוני ועד לממשק עובד. כלים, שגיאות, החלטות ארכיטקטורה ומה שלמדתי בדרך.
תוכן עניינים
9 דקות קריאה

למה בכלל לבנות אפליקציית אימייל כשיש Gmail?

תיבת הדואר שלי מכילה 47,000 הודעות שלא נקראו. לא כי אני עצלן, אלא כי Gmail לא מבין את ההקשר של העבודה שלי. הוא לא יודע שאימייל מלקוח מסוים תמיד דחוף, שניוזלטרים מסוימים שווים קריאה ואחרים לא, ושרשורים פנימיים בצוות צריכים להיות מופרדים לחלוטין מהתקשורת עם ספקים. אחרי שנה של ניסיון עם תוספים שונים שלא פתרו את הבעיה, החלטתי לבנות משהו בעצמי.

הרעיון לא היה לבנות מתחרה ל-Gmail. המטרה הייתה לבנות שכבה מעל ה-API הקיים שמבינה את ההקשר שלי ומציגה את המידע בצורה שמתאימה לאופן שבו אני עובד. AI הפך את זה לאפשרי בלי צוות פיתוח שלם.

הגדרת הדרישות לפני שורת קוד אחת

הטעות הכי נפוצה שאני רואה אצל אנשים שמתחילים לבנות עם AI היא לפתוח את Cursor ולהתחיל לכתוב פרומפטים לפני שהם יודעים מה הם בונים. בניתי רשימה של חמש דרישות ליבה לפני שנגעתי בקוד:

  • חיבור ל-Gmail API עם גישה לקריאה ושליחה
  • סיווג אוטומטי של אימיילים לפי שולח ונושא
  • סיכום שרשורים ארוכים עם AI
  • ממשק שמציג רק מה שרלוונטי לפי שעה ביום
  • אפשרות לכתוב תגובות עם עזרת AI

כל דרישה שלא נכנסה לרשימה הזו הפכה ל"גרסה 2". זה קריטי. כשעובדים עם AI לפיתוח, קל מאוד להתפתות להוסיף פיצ'רים כי "ה-AI יכול לעשות את זה בקלות". התוצאה היא אפליקציה שלא גומרים אף פעם.

אם אתם מתחילים פרויקט דומה, כדאי לקרוא גם על מה אני בונה השבוע ואיך אני עושה זאת עם AI — גישה דומה לתיעוד תהליך בנייה עם בינה מלאכותית.

בחירת ה-Stack הטכנולוגי

בחרתי Next.js 14 עם App Router, Supabase לבסיס נתונים ואימות, Gmail API לגישה לאימיילים, ו-OpenAI API עם GPT-4o לפיצ'רים של AI. הדיפלוי על Vercel. הסיבה לבחירות האלה פשוטה: כולן מתועדות היטב, ל-AI יש הרבה דוגמאות קוד עליהן, וניתן לשלב ביניהן בלי חיכוך גדול.

שקלתי להשתמש ב-Electron לאפליקציה דסקטופ, אבל web app נותן גמישות גדולה יותר ומאפשר גישה מכל מקום. Supabase ספציפית הייתה בחירה מצוינת כי היא מטפלת ב-OAuth tokens בצורה מאובטחת ומספקת Row Level Security מהקופסה.

תרשים תהליך אימות OAuth לחיבור אפליקציה ל-Gmail API

חיבור ל-Gmail API: איפה רוב האנשים נתקעים

Google Cloud Console הוא לא הממשק הכי ידידותי שנבנה אי פעם. הגדרת פרויקט, הפעלת Gmail API, הגדרת OAuth consent screen, ויצירת credentials לוקחת כשעה בפעם הראשונה. ה-AI עזר לי לכתוב את קוד האימות, אבל לא יכול היה לעשות את ההגדרות ב-Google Console בשבילי.

שני דברים שלמדתי בדרך הקשה:

  • ה-scope שצריך לבקש הוא https://www.googleapis.com/auth/gmail.modify ולא gmail.readonly אם רוצים גם לסמן אימיילים כנקראים
  • Google מגבילה אפליקציות לא מאומתות ל-100 משתמשים בלבד. לשימוש אישי זה מספיק, אבל אם מתכננים להפיץ, צריך לעבור תהליך אימות שלוקח 2-4 שבועות
  • Refresh tokens פגים אחרי 7 ימים אם האפליקציה לא עברה אימות. צריך לטפל בזה בקוד
  • Rate limits של Gmail API: 250 quota units לשנייה, כאשר קריאת הודעה עולה 5 units. לאפליקציה אישית זה לא בעיה, אבל כדאי לדעת

הקוד לאימות OAuth כתב ה-AI כמעט בשלמותו. נתתי לו את ה-scopes הנדרשים ואת מבנה ה-Supabase שלי, וקיבלתי קוד עובד תוך כמה דקות. הבעיה הייתה שהוא שכח לטפל ב-token refresh. זה דבר שצריך לבדוק ידנית.

איך בנויה שכבת ה-AI בתוך האפליקציה

שלושה פיצ'רים של AI נכנסו לגרסה הראשונה. כל אחד מהם מבוסס על קריאה ל-OpenAI API עם פרומפט שונה:

סיכום שרשורים: כשפותחים שרשור עם יותר מ-5 הודעות, האפליקציה שולחת את כל ההודעות ל-GPT-4o עם פרומפט שמבקש סיכום של 3-4 משפטים שכולל את ההחלטות שהתקבלו ואת הצעד הבא הנדרש. זה הפיצ'ר שאני משתמש בו הכי הרבה.

סיווג אוטומטי: כל אימייל חדש עובר דרך פרומפט שמסווג אותו לאחת מ-6 קטגוריות שהגדרתי מראש. הדיוק עומד על כ-85%, שזה טוב מספיק לשימוש יומיומי.

עזרה בכתיבת תגובות: לוחצים על כפתור, מקבלים טיוטה מבוססת על תוכן השרשור. לא תמיד משתמשים בה כמות שהיא, אבל היא חוסכת את הדף הריק.

ממשק אפליקציית אימייל מותאמת אישית עם עוזר AI שמייצר טיוטת הודעה

ניהול עלויות ה-API בפועל

זה משהו שמעט מדריכים מדברים עליו בכנות. OpenAI API עולה כסף, ואם לא מתכננים נכון, החשבון יכול להפתיע. בחודש הראשון שילמתי 4.20 דולר על שימוש אישי. הנה הפירוט:

  • סיכום שרשורים: כ-2,000 tokens לשרשור ממוצע, כ-15 שרשורים ביום
  • סיווג אימיילים: כ-300 tokens לאימייל, כ-80 אימיילים ביום
  • עזרת כתיבה: כ-500 tokens לשימוש, כ-10 פעמים ביום

הוספתי rate limiting פשוט שמגביל את מספר הקריאות ל-API לשעה. זה מונע מצב שבו לולאה שגויה שולחת אלפי בקשות. כלל אצבע: תמיד הגדירו spending limit ב-OpenAI לפני שמתחילים לפתח.

שגיאות שעשיתי ומה למדתי מהן

שלוש שגיאות בלטו במיוחד לאורך הפרויקט.

הראשונה: שמרתי את ה-OAuth tokens ב-localStorage של הדפדפן. זה נוח לפיתוח אבל מסוכן לפרודקשן. מישהו עם גישה לדפדפן יכול לגנוב את הטוקן ולקרוא את כל האימיילים שלך. העברתי את כל הטוקנים ל-Supabase עם הצפנה.

השנייה: ביקשתי מה-AI לכתוב את כל הקוד בבת אחת. קיבלתי 400 שורות שעבדו בחלקן. עבדתי הרבה יותר טוב כשפירקתי כל פיצ'ר לחלקים קטנים ובדקתי כל חלק לפני שעברתי לבא.

השלישית: לא תכננתי את מבנה הנתונים ב-Supabase מראש. אחרי שבוע של פיתוח, הבנתי שהמבנה לא מאפשר לי לבצע queries יעילים. נאלצתי לעשות migration שלקח חצי יום. שווה להשקיע שעה בתכנון הסכמה לפני שמתחילים.

לתיעוד מעמיק של שימוש בכלי AI לפיתוח, כולל GitHub ו-Git, כדאי לעיין במדריך GitHub ו-Git למייסדים ללא רקע טכני.

מה ה-AI עשה טוב ומה עשה גרוע

אחרי שבוע של עבודה עם AI לפיתוח, יש לי תמונה ברורה של איפה הוא מצטיין ואיפה הוא נכשל.

מה עבד מצוין: כתיבת קוד boilerplate, הסבר שגיאות, המרת מבנה נתונים, כתיבת פרומפטים ל-OpenAI, ויצירת קומפוננטות UI בסיסיות. Cursor IDE עם Claude Sonnet חסך לי בין 60 ל-70 אחוז מזמן הכתיבה.

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

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

הממשק: מה שינה הכל

הגרסה הראשונה של הממשק הייתה רשימה פשוטה של אימיילים עם כפתורי פעולה. עבדה, אבל לא הייתה שונה מספיק מ-Gmail כדי להצדיק את הבנייה. השינוי שהפך את האפליקציה לשימושית באמת היה תצוגת "Focus Mode".

Focus Mode מציג רק אימיילים שה-AI סיווג כדחופים או כדורשים תגובה, מסודרים לפי שולח ולא לפי זמן. במקום לגלול דרך 80 אימיילים בוקר, רואים 12 שדורשים תשומת לב. זה שינה את האופן שבו אני מתחיל את יום העבודה.

v0 של Vercel עזר לי לבנות את הממשק הראשוני. נתתי לו תיאור טקסטואלי של מה שאני רוצה וקיבלתי קומפוננטות React שעבדו כנקודת התחלה. לא כל מה שיצא היה שמיש, אבל זה חסך לי כמה שעות של כתיבת CSS.

מה הצעד הבא אחרי גרסה ראשונה עובדת

אפליקציה עובדת היא לא אפליקציה גמורה. שלושה דברים שמתכנן לבנות בגרסה הבאה:

  • חיבור ל-Calendar API כדי לזהות אימיילים שמכילים בקשות לפגישות ולהציע זמנים פנויים אוטומטית
  • תמיכה ב-Outlook בנוסף ל-Gmail, דרך Microsoft Graph API
  • מצב "Snooze חכם" שה-AI מחליט מתי להחזיר אימייל לתצוגה על בסיס תוכן ולא רק זמן

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

אם אתם מתעניינים בכיצד AI משתלב בכלים נוספים ובתהליכי עבודה אוטומטיים, כדאי לקרוא על הרצת כלי Google ישירות מהטרמינל עם AI.

שאלות נפוצות

אילו כלי AI הכי שימושיים לבניית אפליקציה מאפס?
תלוי בשלב. לכתיבת קוד ראשוני, Claude ו-GPT-4o מצוינים. לניפוי שגיאות ולהבנת ארכיטקטורה, Cursor IDE עם אינטגרציית AI חוסך שעות עבודה. לבניית ממשק מהיר, v0 של Vercel מייצר קומפוננטות React ישירות מתיאור טקסטואלי. הטעות הנפוצה היא לבחור כלי אחד ולהיצמד אליו — בפועל, שילוב של שניים-שלושה כלים לפי שלב הפיתוח נותן תוצאות טובות בהרבה.
כמה זמן לוקח לבנות אפליקציית אימייל עם AI אם אין לי רקע בפיתוח?
ממשק בסיסי שמציג אימיילים ומאפשר שליחה אפשר לבנות תוך 3-5 ימים עם כלים כמו Cursor ו-Supabase. אם אין רקע טכני בכלל, הצעד הראשון הוא להבין את מבנה ה-API של Gmail או Outlook לפני שמתחילים לכתוב קוד. בלי זה, ה-AI יכתוב קוד שלא יתחבר לשום דבר אמיתי. עם רקע טכני בסיסי, שבוע עבודה מרוכז מספיק לגרסה ראשונה עובדת.
האם אפשר לחבר אפליקציית אימייל מותאמת אישית ל-Gmail?
כן, דרך Gmail API של Google. צריך להגדיר פרויקט ב-Google Cloud Console, לאשר הרשאות OAuth 2.0, ולהשתמש ב-scopes המתאימים לקריאה ושליחה. התהליך לוקח כשעה-שעתיים בפעם הראשונה. הנקודה שרוב המדריכים מדלגים עליה: Google מגבילה אפליקציות לא מאומתות ל-100 משתמשים בלבד. אם בונים משהו לשימוש רחב יותר, צריך לעבור תהליך אימות של Google שיכול לקחת שבועות.
מה ההבדל בין שימוש ב-Gmail API לבין IMAP לצורך בניית אפליקציית אימייל?
Gmail API מיועד ספציפית ל-Gmail ומאפשר גישה לתכונות ייחודיות כמו labels, threads ו-push notifications. IMAP הוא פרוטוקול סטנדרטי שעובד עם כמעט כל ספק אימייל. אם בונים אפליקציה שצריכה לתמוך במספר ספקים, IMAP גמיש יותר. אם המטרה היא אינטגרציה עמוקה עם Gmail בלבד, ה-API נותן יכולות שאי אפשר להשיג דרך IMAP.
איך AI עוזר בכתיבת אימיילים ולא רק בבניית האפליקציה?
אפשר לשלב מודל שפה ישירות בממשק כדי לייצר טיוטות, לסכם שרשורים ארוכים, לזהות אימיילים דחופים, או להציע תגובות. בפועל, הפיצ'ר הכי שימושי שראינו הוא סיכום שרשור: במקום לקרוא 40 הודעות, ה-AI מייצר פסקה אחת שמסכמת את ההחלטות שהתקבלו. זה חוסך בין 10 ל-20 דקות ביום לאנשים שמנהלים תיבות דואר עמוסות.
מה הסיכונים של בניית אפליקציה שמטפלת באימיילים?
שלושה סיכונים עיקריים: גישה לא מאובטחת לטוקנים של OAuth (אם הם דולפים, מישהו יכול לקרוא את כל האימיילים שלך), שמירת תוכן אימיילים בשרת שלך ללא הצפנה, ושימוש ב-AI חיצוני שמקבל גישה לתוכן הודעות פרטיות. לפני שמשיקים לאחרים, כדאי להתייעץ עם מישהו שמבין ב-security ולוודא שהטוקנים מוצפנים ושתוכן האימיילים לא נשמר ללא צורך.
האם כדאי לבנות אפליקציית אימייל מאפס או להשתמש בפתרון קיים?
תלוי לחלוטין במטרה. אם צריך אוטומציה ספציפית שאין בשום כלי קיים, בנייה מאפס מוצדקת. אם המטרה היא לחסוך זמן בניהול אימיילים, כלים כמו Superhuman, SaneBox, או אפילו תוספים ל-Gmail יתנו תוצאות מהר יותר ובעלות נמוכה יותר. הבנייה מאפס שווה כשיש דרישה עסקית מאוד ספציפית, או כשרוצים ללמוד את התהליך עצמו.
איזה stack טכנולוגי מומלץ לאפליקציית אימייל עם AI?
Stack שעבד טוב: Next.js לפרונטאנד, Supabase לבסיס נתונים ואימות משתמשים, Gmail API לגישה לאימיילים, ו-OpenAI API לפיצ'רים של AI. Vercel לדיפלוי. העלות החודשית לאפליקציה בשימוש אישי עומדת על 0-20 דולר. אם מוסיפים משתמשים רבים, Supabase מתחיל לעלות יותר ויש לתכנן את מבנה הנתונים בהתאם מהיום הראשון.

היי 😊

רגע לפני שנדבר

נשמח להראות לכם חלק קטן מהרפויקטים שלנו