Content Manager (content-manager.js)
The content manager defines what content belongs to which category. It is the curated "taste layer" that keeps the automated pipeline on-brand.
Singer catalogs
The manager maintains a SINGER_CATALOG — a per-category map of established
artists whose tracks are always acceptable for that category. Any discovered
track whose artist is not in the catalog is deprioritized or rejected during
pipeline validation.
arabic_hits
| Artist | Name (Arabic) |
|---|---|
| Amr Diab | عمرو دياب |
| Tamer Hosny | تامر حسني |
| Mohamed Hamaki | محمد حماقي |
| Sherine | شيرين |
| Ahmed Saad | أحمد سعد |
| Ramy Sabry | رامي صبري |
| Ruby | روبي |
| Angham | أنغام |
| Assala | أصالة |
| Bahaa Sultan | بهاء سلطان |
| Tul8te | تول 8 |
| Muslim | مسلم |
egyptian_trends
| Artist | Name |
|---|---|
| Wegz | ويجز |
| Marwan Pablo | مروان بابلو |
| Afroto | عفروتو |
| Marwan Moussa | مروان موسى |
| Cairokee | كايروكي |
| Sharmoofers | شارموفرز |
arab_techno
| Artist | Name |
|---|---|
| El Waili | الوايلي |
| Molotof | مولوتوف |
| Disco Misr | ديسكو مصر |
TikTok configuration
TIKTOK_CONFIG defines categories sourced from social/influencer content:
| Category | Purpose |
|---|---|
beds | Underscore beds for talking sections |
mashup_fodder | Source material for mashups |
influencers | Voice/content clips from social influencers |
Dynamic discovery
DYNAMIC_DISCOVERY holds search terms and strategies used by the pipeline when a
category falls below its healthy track count, letting the system proactively find
fresh content that matches the category's vibe rather than waiting for manual
curation.
Gemini-managed variant
content-manager-gemini.js is a companion module that delegates content decisions
to Gemini AI — it reasons about whether a proposed track belongs in a
category, drafts cleaner artist/title pairs, and can suggest category re-assignment.
See Gemini AI for details.