TikTok Shop Video Generator
Turn any viral TikTok video into an ad for your own product in one click. For TikTok Shop sellers and affiliates — no filming, no editing. Free to try.
Dashboard for managers in Hebrew: competitor analysis in the nutrition‑supplements niche – Meta, TikTok, Google, organic visibility.
AI translation
דשבורד מנהלים בעברית: ניתוח מתחרים בנישת תוספי התזונה – Meta, TikTok, Google, נראות אורגנית.
MarketingHTML · JavaScriptGitHub @eyalgoldman1313-creatorOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
לוח מודיעין תחרותי – סושיאל ופרסום (Hebrew RTL dashboard) אתר סטטי, ללא תלויות. npm run build קורא את data/data.json ומייצר dist/. עדכון שבועי 1. פתחו data/data.json → מערך scans. 2. העתיקו את האובייקט האחרון, שנו id (YYYY-MM-DD), date, statusLabel, ועדכנו מספרים/קישורי Drive. 3. npm run build ← הדף הראשי מציג את הסריקה האחרונה, מסמן Δ מול הקודמת, והקודמות נשמרות ב-/archive/ /. מותגים (brands) ואירועים (events) מוגדרים פעם אחת. הלוח מציג רק מספרים שמופיעים בדוחות – אין להמציא נתונים. פונט: Heebo (Google Fonts CDN, ללא סקריפטים). ללא אנליטיקה/מעקב/עוגיות. noindex.Read the full README ↗
אתר סטטי. npm run build קורא את data/data.json ומייצר dist/ בלי תלויות. @hebcal/core משמש רק ליצירת data/events.json ולבדיקות.
data/data.json → מערך scans.id (YYYY-MM-DD), date, statusLabel, ועדכנו מספרים/קישורי Drive.npm run build ← הדף הראשי מציג את הסריקה האחרונה, מסמן Δ מול הקודמת, והקודמות נשמרות ב-/archive/<id>/.מותגים (brands) מוגדרים פעם אחת. אירועי מסחר וחגים נשמרים ב-data/events.json. הלוח מציג רק מספרים שמופיעים בדוחות – אין להמציא נתונים.
פונט: Heebo (Google Fonts CDN, ללא סקריפטים). ללא אנליטיקה/מעקב/עוגיות. noindex.
data/events.json)מערך של { "name", "start", "end?", "type": "sale" | "holiday" | "season", "relevance": "high" | "medium" | "low", "note?" }. תאריכים ב-ISO (YYYY-MM-DD). end רק כשיש טווח.
חגים עבריים לא מוקלדים ידנית. node scripts/resolve-events.mjs --write בונה את הקובץ מ-@hebcal/core (ישראל) ומוסיף תאריכים אזרחיים וחופשות בית ספר. חבילת Hebcal היא devDependency של הסקריפט והבדיקות; npm run build לא מייבא אותה.
הכותרת ולשונית «מגמות ועונתיות» מסננות בדפדפן, לפי התאריך האזרחי בישראל: אירוע שהסתיים נעלם, ומוצג רק מה שמתחיל בתוך 120 יום — בלי בנייה מחדש. בכותרת מוצגים עד 3 האירועים הקרובים (2 במסך צר) כצ׳יפים, והשאר ברצועה שנעה לבד בכיוון הקריאה (לולאה חלקה). הרצועה נעצרת במעבר, במגע ובמיקוד. אם הפריטים נכנסים כולם, אין תנועה. ב-prefers-reduced-motion אין אנימציה, ונשארת גלילה ידנית בלי פס גלילה. אירוע עם relevance: "low" מעומעם ומופיע אחרי השאר, ולא נכנס לצ׳יפים כל עוד יש אירוע אחר בחלון.
data/top10.json), קריאייטיבים חזקים (גלריה עם סינון/מיון/הגדלה), סקירה כללית, מגמות ועונתיות, מתחרים, Meta, TikTok, Google, נראות אורגנית, המלצות ליישום, מיילרים. הסדר קבוע ב-scripts/build.mjs (TAB_ORDER). סיכונים רגולטוריים הם תת-סעיף בתוך המלצות (#regulatory). מגבלות וכיסוי נפתחות מהפוטר או מאייקון i בכותרת (#limits) — לא כלשונית./workspace/social/creatives/{meta,tiktok,organic}/index.json) ע״י: node scripts/import-creatives.mjs [srcDir] [--asof YYYY-MM-DD]. הסקריפט מכווץ תמונות ל-WebP (עד 150KB, דורש python3+Pillow), כותב public/creatives/**, data/creatives.json ו-data/top10.json. את התוצאה מבצעים commit – ה-build עצמו (npm run build) לא דורש תלויות.brand, library_id, file, format, platform, start_date, days_active, status, copy_text, cta, offer, creative_notes, library_url, variants_count, family (Meta); brand, video_url|post_url, file, post_date, days_since_posted, views, likes, comments, shares, type, hook, creative_notes, language (TikTok/אורגני).import-creatives.mjs) שומר image_source ופורמט שכבר תועד, גם כשרשומות alias מתמזגות. הרצה בלי meta/index.json (ייבוא אורגני בלבד) משאירה את פריטי Meta/Google כמו שהם ולא משנה את סדר ה-Top 10 הממומן.data/drive-links.json)הקובץ ממפה כל כרטיס לשני קישורים אופציונליים, מסמך אפיון ותסריט Nully, שמופיעים מתחת לקישור ספריית Meta / הפוסט המקורי (גלריה, רצועות, Top 10, וגם בהגדלה). שדה בלי URL לא מרונדר. קובץ חסר או ריק — ה-build עובר בלי קישורים. אין לשנות מפתחות קיימים; להוסיף רק רשומות חדשות.
{
"<cardId>": {
"spec": "https://drive.google.com/...",
"script": "https://drive.google.com/..."
}
}
items[].id ב-data/creatives.json (גם data-id על הכרטיס, ואותו ערך ב-data/top10.json). דוגמה: meta-1287638459563997.spec → «מסמך אפיון». script → «תסריט Nully». כל שדה אופציונלי. רק http:// / https://.spec_url / script_url על רשומת הכרטיס ממלאים אותו. URL תקין בקובץ גובר.scripts/import-creatives.mjs): {source}-{slug} כאשר source הוא meta | tiktok | organic | google. ל-Meta/Google יש library_id (google-cr…). ל-TikTok/אורגני בדרך כלל {source}-{brand}-{8 תווי md5} — לא המספר שב-URL, ולא המפתח ב-data/specs.json.specs/ (רק גרסת v2/האחרונה). ה-build מעתיק אותם ל-dist/specs/ ומוסיף פס עליון "חזרה ללוח" – התוכן עצמו לא משתנה. כתובת: /specs/<שם-קובץ-בלי-.html> (cleanUrls).data/specs.json:
items: מפתח = מזהה ספריית Meta (library_id) או מזהה הווידאו המספרי שב-post_url (TikTok). ערך = מערך { "label": "אפיון" | "תסריט ל-Nully", "file": "<קובץ ב-specs/>" }.mailers: מערך { brand, title, file } – מוצג בלשונית מיילרים.specs/ בשם meta-<brand>-<id>.html / tiktok-<brand>-<id>-spec.html / -nully.html / mailer-<brand>.html; (2) הוסיפו רשומה ב-data/specs.json; (3) npm run build ובדקו ש-data-spec="1" מופיע; commit + push ל-main.data/creatives.json).data/top10.json נשמרים גם niche (עד 10 מודעות Meta) ו-nicheBrands – המותגים עם "group": "niche" ב-data/data.json.rankTop10 ב-scripts/creatives.mjs) ומחושב ב-import-creatives.mjs (העדכון היומי). אם בצילום של השבוע האחרון אין niche, ה-build מחשב אותו מ-creatives.json. כשיש פחות מ-10 מודעות שעומדות בתנאים, מוצג מה שקיים עם הערה.data/specs.json ממפה כל מזהה במשפחת מודעות לאותו מסמך (לפי ids ב-/workspace/social/ad-specs/queue.json). שם קובץ: meta-<brand>-<primary_id>.html. לווידאו: tiktok-<brand>-<id>-spec.html / -nully.html עם מפתח = מזהה הווידאו.data/insights/*.md מוצגים כ-/insights/<name> (ממיר פשוט scripts/md.mjs, עוטף מונחים לטיניים ב-bdi). niche-cross.md הוא התרגום לעברית; המקור באנגלית ב-data/insights-src/niche-cross.en.md (לא מוצג).node scripts/sync-video-specs.mjs [/workspace/social/video-specs] סורק <brand>/<id>_spec[-v2].html ו-<id>_script_nully[-v2].html (מעדיף -v2, מדלג על pilot/fullrun), מעתיק ל-specs/ ומוסיף ל-data/specs.json תגיות 'אפיון' + 'תסריט ל-Nully' (מזהה 19 ספרות = TikTok, 15–16 = Meta). אפיון תמונה קיים נשמר והווידאו נוסף כ-'אפיון וידאו'. בטוח להרצה חוזרת; מדפיס מזהים ללא כרטיס. אחר כך build, commit, push.
ה-build מריץ fixLinks (scripts/fix-external-links.mjs) על כל דף ב-dist/: כל קישור http(s) חיצוני מקבל target="_blank" rel="noopener noreferrer", וקישורי ספריית המודעות של Meta מנורמלים ל-https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&id=<id>&media_type=all. לתיקון קבצי מקור: node scripts/fix-external-links.mjs <folder> [...] (בטוח להרצה חוזרת).
תבנית (סוג המסמך תמיד ראשון):
<אפיון | תסריט ל-Nully> | <מותג> | <סוג> | <נושא/הוק ב-3–6 מילים> | <ציון>
אפיון (אפיון מודעה / סרטון / ניתוח מייל) או תסריט ל-Nully. צילומי מסך: צילום מסך.מודעת תמונה Meta / סרטון Meta / סרטון TikTok / מייל.7 או 6.5). תסריט Nully מקבל את ציון האפיון של אותו סרטון./ בשם (Drive). להשתמש ב-– או ברווח.[גרסה ישנה] (למשל [גרסה ישנה] אפיון | ...).(3167033313596218)..html) – השם מסתיים בציון. (עודכן 2026-10-12) שינוי שם בלבד – לא להזיז ולא למחוק; מזהה הקובץ נשמר.דוגמאות:
אפיון | GOOM | סרטון TikTok | הייתי סקפטית, אבל בדקתי – פודקאסט | 7
תסריט ל-Nully | Wonders Teva | סרטון TikTok | צחצוח הוא לא הפתרון – VSL | 8
אפיון | Mayven | מודעת תמונה Meta | עצר את הנשירה וגם טעים | 7
אפיון | EcoSupp | מייל | איך הגוף עובד בזמן השינה | 8
תסריט | <דירוג A/B/C> | <מותג מתחרה> | <הוק/CTA/נושא> | <קונספט במילה אחת>
דירוג: A אם ציון האפיון > 8.5, B אם 6.5–8.5, C אחרת.
קונספט (מתוך האפיון): ותיקה (מודעה ממומנת שרצה זמן רב) / חדשה (ממומנת חדשה או בבדיקה) / אורגנית (פוסט אורגני).
בלי 'ל-Nully', בלי סוג סרטון, בלי סיומת. הכלל חל רק על העותקים בתיקיית 'תסריטים'; המקורות בתיקיות הבוטים נשארים בפורמט הרגיל.
תסריט | B | Tevakid | הסוד של אמהות לילדים עם קשב | ותיקה