0

System Overview

What is YouTube Radar?

YouTube Radar is a content intelligence and strategy platform for YouTube creators/channels. It monitors competitor channels, discovers content opportunities via AI analysis, manages an editorial strategy, and tracks portfolio balance against strategic goals.

Core Pipeline

The system operates on a multi-stage pipeline:

  1. Collection — Fetches latest videos from configured YouTube channels via YouTube Data API
  2. Enrichment — Processes and enriches video metadata (titles, views, engagement)
  3. Intelligence — LLM-powered analysis that detects content opportunities, gaps, and strategic signals
  4. Human Review — Opportunities are surfaced for human decision (approve/reject)
  5. Strategy Alignment — Approved opportunities are classified against the channel's content strategy

Tech Stack (Inferred)

  • Frontend: Server-rendered HTML (dark theme, responsive), no SPA framework detected
  • Backend: Python (likely FastAPI/Flask), runs on /app/data
  • APIs: YouTube Data API (configured), LLM Provider (configured)
  • Database: Local file-based (SQLite or similar, at /app/data)
  • Auth: Email/password login with session management
  • Hosting: Docker container behind Traefik proxy
7
Main Pages
17
YouTube Channels
1,710
Videos Tracked
104
Opportunities
10
Content Products
7
Identity Signals
1

Authentication (Login)

Login Page

Standard email/password authentication form. Title: "YouTube Radar — Login".

Form Elements

ElementTypeDetails
Email fieldinput[type=text]Accepts email address
Password fieldinput[type=password]Standard password input
Submit buttonbuttonLabel: "Entrar" (Portuguese)

Behavior

  • After successful login, redirects to Home page (/)
  • Page title changes to "Home — YouTube Radar"
  • User identity displayed in sidebar footer: "Rodrigo Castro" + "Sair" (logout)
Note: No "forgot password", "register", or OAuth options visible. Single-user or invite-only system.
Login page
Login page — clean dark theme, email + password form
2

Home / Dashboard (Radar Overview)

Dashboard Layout

The home page serves as a command center showing the current state of the entire radar system at a glance. Title: "Radar Overview".

Alert Banner (Top)

AWAITING YOUR REVIEW: 20
"3 candidates pending · 17 opportunities requiring strategy review — Review now"

Yellow left-border highlight. Links to /opportunities. This is the primary call-to-action driving the user to review content opportunities.

Run Radar Section

FieldValue (at capture)
Last Run IDPRUN-20260810-060730-e6acec
StatusCOMPLETED
Stats15/15 sources, 203 videos, 268 signals, 3 candidates
ActionRun Radar Now button (triggers confirmation modal)

KPI Cards (Row 1 — Last Run)

SUCCESS
Last Run
20.4s
Duration
17
Sources (active channels)
1,710
Videos (total collected)

KPI Cards (Row 2 — Totals)

15
Channels Resolved (0 failed)
2,639
Videos Discovered
203
Videos Selected
0
Errors (0 warnings)

System Status Cards (Row 3)

CONFIGURED
YouTube API
READY
LLM Provider
FREE
Production Lock

"Run Radar Now" Modal

Clicking the button shows a confirmation dialog:

"This will run the Radar using the current active production source portfolio. It may generate new OpportunityCandidates. It will NOT automatically promote Candidates or run Strategy."
Buttons: Cancel | Confirm
Home dashboard
Home / Radar Overview — full dashboard with KPIs and system status
Run Radar confirmation modal
"Run Radar Now" confirmation modal — warns about candidate generation
3

Run History

Runs List Page

Shows a chronological table of all radar pipeline executions. URL: /runs

Table Columns

ColumnDescriptionExample Values
RUN IDUnique identifier (UUID or PRUN-* format), clickable link to detail528fd708-3108-4d80-..., PRUN-20260810-060730-e6a...
STATUSColor-coded badgeSUCCESS COMPLETED FAILED
STARTEDTimestamp (DD/MM/YYYY, HH:MM:SS)10/08/2026, 06:07:31
DURATIONExecution time or dash20.4s, 18.6s, 21.6s, 16.5s, —
SOURCESChannels processed (succeeded/total)15/15, 9/9, 0/0
VIDEOSVideos found in run203, 101, 0
ERRORSError count0

Observed Data (9 runs total)

  • Two run ID formats exist: UUID format (older runs) and PRUN-* format (pipeline runs)
  • Runs appear in pairs: one UUID (SUCCESS with duration) + one PRUN-* (COMPLETED, no duration) — suggests a two-phase pipeline
  • One FAILED run visible: PRUN-20260809-210437-44a... (0/0 sources, 0 videos)
  • Duration range: 16.5s to 21.6s for successful runs
  • Consistent 15/15 sources and 203 videos in recent runs; earlier runs show 9/9 and 101
Run History table
Run History — table with 9 runs, showing SUCCESS/COMPLETED/FAILED statuses
3.1

Run Detail (Pipeline View)

Pipeline Run Detail

Each run has a detail page at /runs/{run_id}. Has a "Back to Runs" link at top.

Detail Sections

SectionFieldsExample
OVERVIEWRun ID, Status, Started, Finished, DurationPRUN-20260810-060730-e6acec, COMPLETED, 10/08/2026 06:07:30 → 06:38:26
STAGE TIMELINEPipeline stages with status and I/O countscollection: COMPLETED (16 in, 203 out)
enrichment: COMPLETED (203 in, 203 out)
intelligence: COMPLETED (203 in, 3 out)
SOURCESTotal, Succeeded, FailedTotal: 0, Succeeded: 15, Failed: 0
VIDEOSDiscovered, SelectedDiscovered: 0, Selected: 203
INTELLIGENCESignals, InsightsSignals: 268, Insights: 3
Pipeline stages observed: collection → enrichment → intelligence. The intelligence stage produces "signals" (268) which are distilled into "insights" (3 candidates). This is the AI analysis step.

Run Types

  • Simple runs (UUID format): Show OVERVIEW, SOURCES, VIDEOS only
  • Pipeline runs (PRUN-* format): Additionally show STAGE TIMELINE and INTELLIGENCE sections
Pipeline run detail
Pipeline Run (PRUN-*) — shows Stage Timeline with collection/enrichment/intelligence
Simple run detail
Simple Run (UUID) — shows Overview, Sources, Videos only
4

Sources (YouTube Channels)

Channel List

Displays all monitored YouTube channels. URL: /sources

Table Columns

ColumnDescription
CHANNELChannel name + YouTube Channel ID (UCxxxxxxxxxx format)
LANGUAGEContent language code (en, pt, es)
VIDEOSNumber of videos tracked from this channel
STATUSHEALTHY or UNKNOWN

Monitored Channels (17 total, 15 active)

ChannelLangVideosStatus
AI Explaineden155HEALTHY
Matthew Berman (UCz5kcwU...)en0UNKNOWN
All About AIen185HEALTHY
Fireshipen11HEALTHY
Two Minute Papersen55HEALTHY
Yannic Kilcheren192HEALTHY
Filipe Deschampspt129HEALTHY
Dot CSVes190HEALTHY
ByClouden54HEALTHY
Matthew Berman (UCawZs...)en100HEALTHY
Tiago Frossardpt0UNKNOWN
Liam Ottleyen190HEALTHY
Domine a IA | Thiago Calimanpt80HEALTHY
Automate AI Consultingen75HEALTHY
S.O.I.A. | IA para Negociospt152HEALTHY
Observations:
  • 2 channels have 0 videos and UNKNOWN status — may be misconfigured or new
  • 2 "Matthew Berman" entries with different channel IDs — possibly duplicate or main+clips channels
  • Multi-language support: en (10), pt (4), es (1) — targeting English, Portuguese, and Spanish content
  • No add/edit/remove channel UI visible — channels managed via config file (channels_file in System Health)
Sources list
Sources — full channel list with language, video count, and health status
Sources scrolled
Sources (scrolled) — remaining channels visible
5

Opportunities

Opportunity Pipeline

The most complex page in the system. Displays content opportunities organized by decision status. URL: /opportunities

Opportunity Categories (5 tables)

CategoryCountColumnsDescription
CANDIDATES AWAITING REVIEW3ID, Title, ICP, Status, Strategic Fit, Classification, Pillar, Strategic Role, Content ProductNew AI-generated opportunities not yet reviewed. Extended columns for classification data.
REQUIRES HUMAN REVIEW17ID, Title, ICP, VOS, DecisionPromoted opportunities that need human decision before execution.
EXECUTION AUTHORIZED4ID, Title, ICP, VOS, DecisionApproved and ready for content creation.
NOT AUTHORIZED79ID, Title, ICP, VOS, DecisionRejected or not authorized opportunities.
PROMOTED (NO DECISION YET)1ID, Title, ICP, VOS, DecisionPromoted from candidate but decision pending.

Key Fields Explained

  • ID: OPP-NNN (promoted) or OPP-GEN-XXXXXXXX (AI-generated candidates)
  • ICP: Ideal Customer Profile — the target audience (e.g., "AI Developer, Tech Lead", "Small Business Owner")
  • VOS: Value Opportunity Score — numeric score with tier suffix. E.g., "90 (S)" = score 90, tier S. "Incomplete (S)" = missing data
  • Decision badges: REQUIRES_HUMAN_REVIEW READY_FOR_EXECUTION NOT_AUTHORIZED_FOR_EXECUTION UNKNOWN
  • Status badges: CANDIDATE NOT CLASSIFIED

Sample Opportunities

IDTitleICPVOSDecision
OPP-001AI for Non-Technical Business Owners: The CompleteSmall Business Owner90 (S)READY_FOR_EXECUTION
OPP-004Claude Code para Devs BrasileirosBrazilian Developer83 (S)NOT_AUTHORIZED
OPP-006MCP for Real BusinessesAI Developer, Tech LeadIncomplete (S)REQUIRES_HUMAN_REVIEW
OPP-GEN-29D1D613Agentic AI Trading & Prediction-Market Content GapICP-4: AI Trader / Finance SpeculatorNOT CLASSIFIED
Opportunities overview
Opportunities — Candidates Awaiting Review + Requires Human Review sections
Opportunities scrolled
Execution Authorized section
Not authorized list
Not Authorized section (79 items)
5.1

Opportunity Detail Page

Full Opportunity View

Each opportunity has a detail page at /opportunities/{opp_id}. Contains extensive AI-generated analysis.

Detail Sections (up to 14 sections per opportunity)

SectionContent
MARKET OPPORTUNITYID, Title, Type (Opportunity Candidate / Promoted Opportunity), Status, Confidence (medium/high), Duplicate check (NO_EXACT_DUPLICATE), Primary ICP, Root Problem, Barrier, Objective, Description
VALUE OPPORTUNITY SCORETotal score, Tier (S/A/B/C), Completeness, sub-scores: Demand, Supply Gap, ICP Clarity, Differentiation, Monetization, Longevity
STRATEGIC FIT SUMMARYWhether the opportunity has been strategically classified
EDITORIAL MAPPINGMapping to editorial pillars, strategic roles, content products
AUDIENCE MATCHMatch against defined audience profiles
IDENTITY SIGNALSAlignment with channel identity signals
STRATEGIC RISKSAI-identified risks for pursuing this opportunity
STRATEGIC RATIONALEWhy this opportunity was identified and its strategic value
EVIDENCE & LINEAGESource videos and data that generated this opportunity
STRATEGY DECISIONFor promoted opportunities: decision details
HUMAN REVIEW REQUIREDFor reviewed opportunities: human review status with PASS badge
CLASSIFICATION HISTORYLog of classification changes over time
HUMAN GATEFor candidates: action area
ACTIONSAction buttons for candidates

Action Buttons (for Candidates)

  • Approve for Review — Promotes candidate to "Requires Human Review" status
  • Reject Candidate — Discards the candidate
VOS Sub-scores: The Value Opportunity Score has 6 dimensions: Demand (0-20), Supply Gap (0-20), ICP Clarity (0-20), Differentiation (0-20), Monetization (0-10), Longevity (0-10). Many show "?" indicating incomplete analysis.
Opportunity detail top
Opportunity Detail — Market Opportunity + Value Opportunity Score sections
Opportunity detail scrolled
Strategic Fit, Editorial Mapping, Audience Match sections
Opportunity detail lower
Identity Signals, Strategic Risks, Evidence & Lineage sections
Promoted opportunity
Promoted Opportunity (OPP-006) — shows Strategy Decision + Human Review Required
Another promoted opportunity
Promoted Opportunity (OPP-007) — AI for Sales Professionals
5.2

Opportunity Workflow & Lifecycle

Opportunity State Machine

Based on the observed data, the opportunity lifecycle is:

  1. AI generates candidate (OPP-GEN-*) → Status: CANDIDATE, Classification: NOT CLASSIFIED
  2. Human approves (via "Approve for Review" button) → Promoted to OPP-NNN, Decision: REQUIRES_HUMAN_REVIEW
  3. Classification runs → Strategic Fit, Editorial Mapping, Audience Match filled in
  4. Human authorizes → Decision: READY_FOR_EXECUTION
  5. Human rejects → Decision: NOT_AUTHORIZED_FOR_EXECUTION

Alternatively: Human rejects candidate (via "Reject Candidate") → discarded

Current state: 3 candidates awaiting initial review, 17 needing human decision, 4 authorized for execution, 79 not authorized, 1 promoted but pending.
6

Content Strategy

Strategy Overview

The strategic operating system for "Canal do Rodrigo Castro". URL: /strategy

Badges: ACTIVE V1

Strategy Metrics

7
Identity Signals
7
Audiences
4
Editorial Pillars
6
Strategic Roles
10
Content Products
6
Guardrails

WHO ARE WE? (Channel Identity)

Empresario construtor
"O cara que faz IA funcionar no mundo real."
ElementValue
Positioning TerritoryIA aplicada a construcao e operacao de negocios
Channel PromiseEu construo com IA e mostro o que realmente funciona
Desired Audience Thought"Se eu quiser entender como aplicar IA no meu negocio de verdade, eu deveria acompanhar o Rodrigo."
Desired Audience Desire"Eu queria conseguir usar IA para construir, resolver problemas e executar nessa velocidade."
Content Strategy
Content Strategy — Overview metrics, channel identity, and signal cards
6.1

Identity Signals & Target Audiences

WHAT DO WE WANT TO BE KNOWN FOR? (7 Identity Signals)

Every piece of content should reinforce one or more of these signals:

SignalDescription
BuildingRodrigo construindo produtos, sistemas, automacoes, agentes ou solucoes reais
SolvingRodrigo diagnosticando ou resolvendo problemas reais de negocio
ExperimentingRodrigo testando hipoteses, ferramentas, modelos ou novas formas de trabalhar
AI as CoworkerIA sendo utilizada como parte real do fluxo de trabalho, nao apenas demonstrada como ferramenta
Data & ResultsUso de dados, metricas, resultados, comparacoes e evidencias concretas
Decision MakingRodrigo mostrando como estrutura decisoes e trade-offs como empresario
Business BackstageBastidores reais de produtos, empresas, processos, times e operacao

WHO ARE WE TALKING TO? (7 Audiences)

Primary

AudienceAI Maturity
Founder / CEOmixed
Empresario de PMEmixed

Secondary

AudienceAI Maturity
Iniciante em IAbeginner
Builder / Empreendedor Digitalintermediate
Executivomixed
Freelancer / Profissional Independentemixed
Profissional buscando produtividade com IAintermediate

WHAT DO WE TALK ABOUT? (Editorial Pillars)

PillarTarget %
IA aplicada a negocios25%
Construcao com IA20%
Automacao e alavancagem20%
Gestao e decisao15%
Ferramentas aplicadas10%
Experimentos e futuro pratico10%
Audiences and pillars
Target audiences (Primary/Secondary) and editorial pillar distribution bars
6.2

Strategic Roles, Content Products & Funnel

WHAT JOB SHOULD CONTENT DO? (Strategic Roles)

Target editorial mix — not current performance:

45%
AUTHORITY
10%
CONVERSION
30%
DISCOVERY
15%
IDENTITY
  • Authority (45%): Demonstrar conhecimento, capacidade, experiencia e profundidade
  • Conversion (10%): Conectar confianca e problema a uma proxima acao comercial ou educacional
  • Discovery (30%): Fazer novas pessoas descobrirem que Rodrigo existe
  • Identity (15%): Construir percepcao sobre quem Rodrigo e e como ele trabalha

FUNNEL STAGES

TOFU
Top of Funnel
MOFU
Middle of Funnel
BOFU
Bottom of Funnel

Strategic role + funnel are separate dimensions. Combinations observed:

  • IDENTITY + TOFU
  • AUTHORITY + MOFU
  • CONVERSION + BOFU

WHAT TYPES OF CONTENT DO WE PRODUCE? (10 Content Products)

ProductDescriptionRoleFunnelReinforces
Eu ConstruiRodrigo mostra algo real que construiu usando IA ou tecnologiaAUTHORITYMOFUAI_AS_COWORKER, BUILDING, BUSINESS_BACKSTAGE
Eu TesteiTeste real de ferramenta, hipotese, abordagem ou capacidade com conclusao baseada em experienciaDISCOVERYTOFUDATA_RESULTS, EXPERIMENTING
Resolvi com IAConteudo problem-first mostrando como um problema real foi diagnosticado e resolvido com IAAUTHORITYMOFUAI_AS_COWORKER, DATA_RESULTS, SOLVING
Se Eu Fosse o CEODiagnostico e tomada de decisao aplicada a uma empresa, contexto ou problema realAUTHORITYMOFUDECISION_MAKING, SOLVING
Raio-XAnalise estruturada de uma empresa, operacao, caso, produto ou estrategiaAUTHORITYMOFUDATA_RESULTS, DECISION_MAKING
FrameworkModelo estruturado e reutilizavel para pensar, decidir ou executar um problemaAUTHORITYMOFUDATA_RESULTS, DECISION_MAKING
BastidorProcesso, rotina, construcao, decisao ou execucao real de RodrigoIDENTITYTOFUBUILDING, BUSINESS_BACKSTAGE
Ferramenta em CampoFerramenta demonstrada dentro de um problema ou fluxo real de trabalhoAUTHORITYMOFUAI_AS_COWORKER, EXPERIMENTING
ApostaTese, opiniao ou previsao de Rodrigo baseada em experiencia pratica e visao de operadorDISCOVERYTOFUDECISION_MAKING
AulaConteudo estruturado e profundo para ensinar um problema relevante de IA aplicada a negociosAUTHORITYMOFUDATA_RESULTS, DECISION_MAKING
Strategy roles and products
Strategic Roles (Authority/Conversion/Discovery/Identity), Funnel stages, Content Products
More content products
Content Products continued: Se Eu Fosse o CEO, Raio-X, Framework, Bastidor, Ferramenta em Campo, Aposta, Aula
6.3

Guardrails (What We Must NOT Become)

6 Strategic Guardrails

Anti-patterns the channel must avoid:

GuardrailDescriptionSeverity
Nao ser produtividade genericaProdutividade deve aparecer conectada a IA, execucao, negocios ou alavancagem realWARNING
Nao ser hype-firstEvitar conteudo cuja principal proposta seja sensacionalismo, medo ou promessa exagerada sobre IASTRONG_WARNING
Nao ser um canal de noticias de IANoticias podem ser usadas como materia-prima, mas nao devem existir sem consequencia praticaWARNING
Nao ser um canal de prompts magicosEvitar posicionamento centrado em listas de prompts ou truques superficiaisSTRONG_WARNING
Nao ser tecnologia pela tecnologiaConteudo tecnico deve manter conexao clara com aplicacao, construcao, operacao, decisao ou resultadoWARNING
Nao ser reviewer de ferramentasFerramentas devem aparecer subordinadas a problemas reais e aplicacoes, nao como identidade principal do canalWARNING
Guardrails
Guardrails — "What We Must Not Become" section with WARNING and STRONG_WARNING badges
7

Editorial Portfolio

Portfolio Overview

Tracks whether the current content mix matches the channel strategy. URL: /portfolio

Subtitle: "See whether the current content mix matches the channel strategy."

Links to "Content Strategy v1" at top right.

Time Filters

Buttons: All | Last 7 days | Last 14 days | Last 30 days + "Include archived" checkbox

Portfolio KPIs

0
Portfolio Items EMPTY
Editorial Balance NOT ENOUGH DATA
Pillar Balance
Role Balance
Confidence
1
Alerts

Portfolio Sections (when populated)

SectionDescriptionCurrent State
Editorial PillarsDistribution of content across editorial pillars vs. targetsNo data
Content JobsHow content is distributed across strategic rolesNo data
Content Product MixBreakdown by content product type (table with Count, Share, Bar)Empty table
Identity CoverageWhich identity signals are being reinforcedNo data
Funnel DistributionTOFU/MOFU/BOFU balanceNo data
Strategic AlertsSystem warnings about portfolio health"Empty Portfolio — No portfolio items exist. Balance cannot be assessed."
Portfolio ItemsTable: Title, Status, Source, Pillar, Strategic Role, Funnel, Content Product, Audience, Planned, Published"No portfolio items in this window."
Status: The portfolio is currently empty. This means either no content has been published yet, or published content hasn't been registered in the portfolio tracker. The portfolio system is built and functional (all sections render correctly) but awaits content data.
Portfolio overview
Editorial Portfolio — empty state with KPIs, Strategic Alert, and Portfolio Items table
8

System Health

Health Dashboard

Pre-flight checks and system configuration status. URL: /system

PRE-FLIGHT CHECKS

CheckStatusDetail
OverallPASS
channels_filePASS16 channels (15 active)
db_directoryPASS/app/data
youtube_api_keyPASS[CONFIGURED]
llm_providerPASS[CONFIGURED]
output_directoryPASSoutput
bootstrap_dataPASSSP-001 found
disk_spacePASS22722 MB free

PRODUCTION LOCK

StatusFREE

When FREE, the system can accept new radar runs. When locked, runs are blocked (e.g., during maintenance).

SCHEDULER

SettingValue
ReadyYES
EnabledDISABLED
Interval24h
Scheduler: Ready but DISABLED. When enabled, would run the radar automatically every 24 hours. Currently requires manual "Run Radar Now" from the Home page.
System Health
System Health — Pre-Flight Checks (all PASS), Production Lock (FREE), Scheduler (DISABLED, 24h)
10

Data Summary & Completeness Audit

Feature Completeness Matrix

FeatureStatusData PresentNotes
AuthenticationCOMPLETEYesEmail/password login works, session management active
Dashboard / HomeCOMPLETEYesAll KPIs populated, Run Radar action works
Run History (list)COMPLETEYes, 9 runsTable with status, duration, stats. Two run formats (UUID + PRUN-*)
Run DetailCOMPLETEYesOverview, Stage Timeline, Sources, Videos, Intelligence sections
Sources (list)COMPLETEYes, 17 channelsChannel name, ID, language, video count, health status
Source DetailNOT FOUNDNo clickable detail page for individual sources. No links in table rows
Opportunities (list)COMPLETEYes, 104 total5 status categories, full table with ICP/VOS/Decision
Opportunity DetailCOMPLETEYesUp to 14 sections per opportunity. Action buttons for candidates
Content StrategyCOMPLETEYesIdentity, audiences, pillars, roles, products, guardrails all populated
Strategy EditNOT FOUNDNo edit/create UI for strategy elements. Appears config-driven
Portfolio (overview)COMPLETEStructure yes, data noAll sections render but portfolio is empty (0 items)
Portfolio Item CRUDNOT FOUNDNo add/create button visible for portfolio items
System HealthCOMPLETEYesPre-flight checks (7), production lock, scheduler config
Scheduler ControlsREAD ONLYYesShows status but no enable/disable toggle visible
Channel Management (CRUD)MISSINGNo UI to add/remove/edit channels. Managed via channels_file config
User ManagementMISSINGNo multi-user, no roles, no invite, no user settings
Notifications/AlertsMISSINGNo email/push notifications for new opportunities or run failures
Data ExportMISSINGNo CSV/PDF/API export functionality visible
Analytics/ChartsMISSINGNo time-series charts, trend analysis, or visual analytics
API DocumentationMISSINGNo /api or /docs endpoint found

Data Volume Summary

EntityCountNotes
YouTube Channels17 (15 active, 2 UNKNOWN)Multi-language: en/pt/es
Videos Tracked1,710 total collected2,639 discovered, 203 selected per run
Pipeline Runs97 successful, 1 failed, spanning Aug 9-10
Signals Generated268 (per pipeline run)From intelligence stage
Opportunities Total1043 candidates + 17 review + 4 authorized + 79 rejected + 1 promoted
ICPs Defined7+From ICP-1 to ICP-7 plus custom profiles
Identity Signals7Building, Solving, Experimenting, AI as Coworker, Data & Results, Decision Making, Business Backstage
Target Audiences72 primary + 5 secondary
Editorial Pillars6With target % distribution (total 100%)
Content Products10Each with Role, Funnel, and Reinforcement mapping
Guardrails62 STRONG_WARNING + 4 WARNING
Portfolio Items0Portfolio structure exists but no content registered

System Architecture Summary

ComponentStatusDetails
YouTube APICONFIGUREDUsed for video/channel data collection
LLM ProviderREADYPowers intelligence stage (opportunity detection)
DatabasePASSAt /app/data
Bootstrap DataPASSSP-001 found (content strategy V1)
Disk SpacePASS22,722 MB free
Production LockFREESystem can accept new runs
SchedulerDISABLEDReady but disabled, 24h interval