מה זה
Mdata לוקחת דומיין יחיד והופכת אותו לתמונת שוק מלאה. במקום לפתוח עשרה טאבים של מתחרים ולנסות להשוות ביד, מדביקים כתובת אחת ומקבלים דשבורד side-by-side: שורה לכל מתחרה, עמודה לכל מדד.
בניתי את זה ככלי BI ולא כרשימה יבשה. הדוח מוביל עם Executive Briefing - ורדיקט, טבעת ניקוד, נקודות חוזק ופערים - ואחריו המלצות מתועדפות וכרטיס פרופיל לכל מתחרה.
הבעיה
מחקר מתחרים הוא עבודה ידנית ואיטית. המידע החשוב - מחירים, ביקורות, איכות SEO, מצב אבטחה - מפוזר בין דפים רבים אצל כל מתחרה, וחלקו נמצא דווקא בדפי תמחור או אודות פנימיים ולא בעמוד הבית.
בלי מסגרת אחידה קשה לענות על השאלה הפשוטה: איפה אני עומד ביחס לשדה, ואיזה פער באמת משמעותי ואיזה רק רעש.
מה בניתי
צינור מלא שרץ מקצה לקצה: גילוי מתחרים ללא מפתחות בתשלום (DuckDuckGo, ואופציונלית Anthropic ו-Exa), סריקה עם שרשרת fallback, וחמישה מנתחים שמנקדים מחיר, SEO, ביקורות, איכות ואבטחה. הניקוד הכולל הוא ממוצע של חמשת המדדים.
מעל הניקוד הנעול הוספתי שכבות תובנה: סריקה רב-עמודית שקוראת גם דפי תמחור ואבטחה פנימיים, רמת ביטחון לכל מדד, דירוג יחסי מול השדה, ומשקלי עדיפות עסקית שהמשתמש יכול להזיז בזמן אמת.
מעל הכל יושב מנוע סטטיסטיקה נקי, lib/stats.js, שמחשב חציון, אחוזונים, z-score, IQR ומתאמים - וממנו נגזרים גרפים, מפרק ראיות שיורד לכל סיגנל בודד, ושכבת הסבר בשפה פשוטה שמתרגמת כל מספר למשפט מובן.
איך זה עובד
הקוד הוא vanilla HTML/CSS/JS בלי build step. הלוגיקה הכבדה חיה ב-Cloudflare Workers שמפזרים את הסריקה, ו-Vercel מארח את ה-API routes ואת האתר.
כל הגרפים הם inline-SVG טהור בלי שום ספריית charting חיצונית - כדי לא לשבור את מדיניות ה-CSP הקשיחה ולשמור על זהות ה-no-build. נתוני החברות (headcount, שנת הקמה, בעלות, הכנסות מבוקרות) מגיעים ממקורות ללא מפתח כמו Wikidata, GLEIF, SEC EDGAR ו-RDAP, וכל ערך נושא מקור, תאריך וקישור. מה שאין לו מקור אמיתי נשאר מסומן 'connect a data source' ולעולם לא מומצא.
התוצאה
Mdata חיה ב-mdata-alpha.vercel.app, כולל דוח דוגמה ציבורי בכתובת /sample שמרנדר את כל הקנבס - KPI band, מקטע סטטיסטי אינטראקטיבי, drill-through בין מתחרים ומפרק ראיות - בלי צורך בהתחברות.
מעל 210 בדיקות יחידה ירוקות, והאתר אומת חי תחת ה-CSP האמיתי בלי אף הפרה, בלי שגיאות קונסול ובלי גלישה אופקית במובייל. ההחלטה המנחה לאורך כל הדרך הייתה כנות: שכבות תובנה עוטפות את הנוסחאות הנעולות בלי לשנות אותן, ומספר קטן של דגימות תמיד מסומן ככזה כדי שהדוח לא ידמה דיוק שאין לו.