RadiaQ
הצעות ספקים נכנסות, הצעת מחיר ללקוח יוצאת, וכל מחיר ניתן לעקוב אחריו עד למסמך שממנו הגיע.
2025-2026 · Radion Engineering · אוטומציה עסקית, AI
על האפליקציה
לתמחר תא רובוטי זה עשרות חלקים מספקים, כמה מטבעות ושעות ההנדסה שמחברות ביניהם. RadiaQ קורא הצעות ספקים בכל פורמט, בונה מהן ספריית חלקים ומתמחר הצעת מחיר שלמה עם מנוע אחד ועקבי לרווח, לסיכון ולעבודה. כל מספר נשאר מקושר למקור שלו, ואדם מאשר כל חלק חדש לפני שהוא נשמר.
למה בניתי את זה
הצעת מחיר לתא רובוטי היא פרויקט הנדסי קטן בפני עצמו. עשרות חלקים מספקים בשלושה מטבעות, שעות הנדסה מעליהם, ורווח שחייב להיות נכון. במשך שנים כל זה חי בגיליונות אלקטרוניים, מוקלד מחדש מקובצי PDF של ספקים, בלי קישור חזרה למסמך שממנו הגיע המחיר. RadiaQ נבנה כדי לתת לחטיבה ספרייה אחת, מנוע תמחור אחד ותשובה כנה אחת לשאלה שכל הצעה מעלה, האם המחיר הזה הגיוני. סביבו צמחה פרקטיקת תוכנה קטנה משלו, עם בדיקות שמשוות את המנוע להצעות שחושבו ביד ועובד AI שהופך את הבקשות של הצוות לטיקטים נקיים.
מה היא עושה
- קורא כל הצעה
- קובצי PDF, סריקות וגיליונות, בעברית או באנגלית, בשקלים, בדולרים או באירו.
- ספריית חלקים חיה
- כל חלק שומר את המטבע המקורי ואת תאריך ההצעה שממנה הגיע המחיר.
- מנוע תמחור אחד
- רווח, סיכון, מע"מ ועבודה מחושבים באותה דרך בכל הצעה.
- אדם מאשר
- חלקים חדשים ושינויי מחיר מאושרים על המסך לפני שמשהו נשמר.
- בנוי לצוות
- כל צוות רואה רק את הנתונים שלו, עם כניסה ארגונית וממשק עברי מימין לשמאל.
- סטטיסטיקה שבודקת אם המחיר הגיוני
- כל הצעה מציגה את הפיצול בין חומרה, תוכנה ועבודה, את היחסים ביניהם, רווח לפי סוג, ואזהרה כשמשהו נראה חריג. תצוגת אנליטיקה נפרדת מציגה התפלגויות רווח על פני הצעות קודמות.
- גרסאות והיסטוריית שינויים
- הצעה שנשלחה היא לקריאה בלבד. תיקונים הופכים לגרסאות חדשות, וכל שינוי, כולל שינויי רווח ושער חליפין, נרשם בפאנל היסטוריה.
- המחיר מאושר לפני שהוא יוצא
- המערכת שואלת אם המחיר שהוצע תואם, וכל פער נסגר בהנחה רשומה, כך שהסכום תמיד שווה למחיר שנשלח.
- העתקה למייל בכמה צורות
- הצעה מועתקת החוצה לפי מערכות או לפי רכיבים, עם מחירים או בלעדיהם, מוכנה להדבקה במייל.
- טיקטים שכותבים את עצמם
- הצוות זורק באג או בקשה בטקסט חופשי, אפילו רק צילום מסך. עובד AI פותח את התמונה, שואל לכל היותר שלוש שאלות, בודק כפילויות ומתייק טיקט עם סוג, גודל, רדיוס פגיעה וקריטריוני קבלה.
איך זה עובד

נבנה עם
React + TypeScript · Supabase Postgres, row-level security · Supabase Edge Functions · Claude API · AG Grid · התחברות Microsoft · Cloudflare Pages · Vitest, Playwright, GitHub Actions
איך זה בנוי
כל דחיפה מריצה לינט, בדיקת טיפוסים, את בדיקות היחידה ובנייה לייצור על שתי גרסאות Node. בדיקת פיקסצ'ר משווה את מנוע התמחור להצעות שחושבו ביד. תהליך נפרד בודק את הבידוד בין צוותים מול מסד הנתונים בכל שינוי וסורק אותו כל שש שעות. דחיפה לענף הראשי פורסת ל-Cloudflare Pages, וחזרה לאחור היא revert ודחיפה. סכמת מסד הנתונים חיה במיגרציות מגורסות.
בקצרה
- TYPE
- Internal configure-price-quote web app
- USERS
- Radion robotics division, technical and sales staff
- AI
- Claude reads supplier quotes (PDF, image, Excel) through a server-side proxy
- STACK
- React, TypeScript, Supabase (Postgres), Cloudflare Pages
- SCALE
- 517 commits over 10 months, about 1,700 automated tests
- LANGUAGE
- Hebrew, right to left
התפקיד שלי. הגדרת תהליך התמחור וכללי המחיר ובניית האפליקציה כבונה יחיד.
מסכים





