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.
The system operates on a multi-stage pipeline:
/app/data/app/data)Standard email/password authentication form. Title: "YouTube Radar — Login".
| Element | Type | Details |
|---|---|---|
| Email field | input[type=text] | Accepts email address |
| Password field | input[type=password] | Standard password input |
| Submit button | button | Label: "Entrar" (Portuguese) |
/)
The home page serves as a command center showing the current state of the entire radar system at a glance. Title: "Radar Overview".
Yellow left-border highlight. Links to /opportunities. This is the primary call-to-action driving the user to review content opportunities.
| Field | Value (at capture) |
|---|---|
| Last Run ID | PRUN-20260810-060730-e6acec |
| Status | COMPLETED |
| Stats | 15/15 sources, 203 videos, 268 signals, 3 candidates |
| Action | Run Radar Now button (triggers confirmation modal) |
Clicking the button shows a confirmation dialog:
Shows a chronological table of all radar pipeline executions. URL: /runs
| Column | Description | Example Values |
|---|---|---|
| RUN ID | Unique identifier (UUID or PRUN-* format), clickable link to detail | 528fd708-3108-4d80-..., PRUN-20260810-060730-e6a... |
| STATUS | Color-coded badge | SUCCESS COMPLETED FAILED |
| STARTED | Timestamp (DD/MM/YYYY, HH:MM:SS) | 10/08/2026, 06:07:31 |
| DURATION | Execution time or dash | 20.4s, 18.6s, 21.6s, 16.5s, — |
| SOURCES | Channels processed (succeeded/total) | 15/15, 9/9, 0/0 |
| VIDEOS | Videos found in run | 203, 101, 0 |
| ERRORS | Error count | 0 |
Each run has a detail page at /runs/{run_id}. Has a "Back to Runs" link at top.
| Section | Fields | Example |
|---|---|---|
| OVERVIEW | Run ID, Status, Started, Finished, Duration | PRUN-20260810-060730-e6acec, COMPLETED, 10/08/2026 06:07:30 → 06:38:26 |
| STAGE TIMELINE | Pipeline stages with status and I/O counts | collection: COMPLETED (16 in, 203 out) enrichment: COMPLETED (203 in, 203 out) intelligence: COMPLETED (203 in, 3 out) |
| SOURCES | Total, Succeeded, Failed | Total: 0, Succeeded: 15, Failed: 0 |
| VIDEOS | Discovered, Selected | Discovered: 0, Selected: 203 |
| INTELLIGENCE | Signals, Insights | Signals: 268, Insights: 3 |
Displays all monitored YouTube channels. URL: /sources
| Column | Description |
|---|---|
| CHANNEL | Channel name + YouTube Channel ID (UCxxxxxxxxxx format) |
| LANGUAGE | Content language code (en, pt, es) |
| VIDEOS | Number of videos tracked from this channel |
| STATUS | HEALTHY or UNKNOWN |
| Channel | Lang | Videos | Status |
|---|---|---|---|
| AI Explained | en | 155 | HEALTHY |
| Matthew Berman (UCz5kcwU...) | en | 0 | UNKNOWN |
| All About AI | en | 185 | HEALTHY |
| Fireship | en | 11 | HEALTHY |
| Two Minute Papers | en | 55 | HEALTHY |
| Yannic Kilcher | en | 192 | HEALTHY |
| Filipe Deschamps | pt | 129 | HEALTHY |
| Dot CSV | es | 190 | HEALTHY |
| ByCloud | en | 54 | HEALTHY |
| Matthew Berman (UCawZs...) | en | 100 | HEALTHY |
| Tiago Frossard | pt | 0 | UNKNOWN |
| Liam Ottley | en | 190 | HEALTHY |
| Domine a IA | Thiago Caliman | pt | 80 | HEALTHY |
| Automate AI Consulting | en | 75 | HEALTHY |
| S.O.I.A. | IA para Negocios | pt | 152 | HEALTHY |
channels_file in System Health)
The most complex page in the system. Displays content opportunities organized by decision status. URL: /opportunities
| Category | Count | Columns | Description |
|---|---|---|---|
| CANDIDATES AWAITING REVIEW | 3 | ID, Title, ICP, Status, Strategic Fit, Classification, Pillar, Strategic Role, Content Product | New AI-generated opportunities not yet reviewed. Extended columns for classification data. |
| REQUIRES HUMAN REVIEW | 17 | ID, Title, ICP, VOS, Decision | Promoted opportunities that need human decision before execution. |
| EXECUTION AUTHORIZED | 4 | ID, Title, ICP, VOS, Decision | Approved and ready for content creation. |
| NOT AUTHORIZED | 79 | ID, Title, ICP, VOS, Decision | Rejected or not authorized opportunities. |
| PROMOTED (NO DECISION YET) | 1 | ID, Title, ICP, VOS, Decision | Promoted from candidate but decision pending. |
| ID | Title | ICP | VOS | Decision |
|---|---|---|---|---|
| OPP-001 | AI for Non-Technical Business Owners: The Complete | Small Business Owner | 90 (S) | READY_FOR_EXECUTION |
| OPP-004 | Claude Code para Devs Brasileiros | Brazilian Developer | 83 (S) | NOT_AUTHORIZED |
| OPP-006 | MCP for Real Businesses | AI Developer, Tech Lead | Incomplete (S) | REQUIRES_HUMAN_REVIEW |
| OPP-GEN-29D1D613 | Agentic AI Trading & Prediction-Market Content Gap | ICP-4: AI Trader / Finance Speculator | — | NOT CLASSIFIED |
Each opportunity has a detail page at /opportunities/{opp_id}. Contains extensive AI-generated analysis.
| Section | Content |
|---|---|
| MARKET OPPORTUNITY | ID, Title, Type (Opportunity Candidate / Promoted Opportunity), Status, Confidence (medium/high), Duplicate check (NO_EXACT_DUPLICATE), Primary ICP, Root Problem, Barrier, Objective, Description |
| VALUE OPPORTUNITY SCORE | Total score, Tier (S/A/B/C), Completeness, sub-scores: Demand, Supply Gap, ICP Clarity, Differentiation, Monetization, Longevity |
| STRATEGIC FIT SUMMARY | Whether the opportunity has been strategically classified |
| EDITORIAL MAPPING | Mapping to editorial pillars, strategic roles, content products |
| AUDIENCE MATCH | Match against defined audience profiles |
| IDENTITY SIGNALS | Alignment with channel identity signals |
| STRATEGIC RISKS | AI-identified risks for pursuing this opportunity |
| STRATEGIC RATIONALE | Why this opportunity was identified and its strategic value |
| EVIDENCE & LINEAGE | Source videos and data that generated this opportunity |
| STRATEGY DECISION | For promoted opportunities: decision details |
| HUMAN REVIEW REQUIRED | For reviewed opportunities: human review status with PASS badge |
| CLASSIFICATION HISTORY | Log of classification changes over time |
| HUMAN GATE | For candidates: action area |
| ACTIONS | Action buttons for candidates |
Based on the observed data, the opportunity lifecycle is:
Alternatively: Human rejects candidate (via "Reject Candidate") → discarded
The strategic operating system for "Canal do Rodrigo Castro". URL: /strategy
Badges: ACTIVE V1
| Element | Value |
|---|---|
| Positioning Territory | IA aplicada a construcao e operacao de negocios |
| Channel Promise | Eu 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." |
Every piece of content should reinforce one or more of these signals:
| Signal | Description |
|---|---|
| Building | Rodrigo construindo produtos, sistemas, automacoes, agentes ou solucoes reais |
| Solving | Rodrigo diagnosticando ou resolvendo problemas reais de negocio |
| Experimenting | Rodrigo testando hipoteses, ferramentas, modelos ou novas formas de trabalhar |
| AI as Coworker | IA sendo utilizada como parte real do fluxo de trabalho, nao apenas demonstrada como ferramenta |
| Data & Results | Uso de dados, metricas, resultados, comparacoes e evidencias concretas |
| Decision Making | Rodrigo mostrando como estrutura decisoes e trade-offs como empresario |
| Business Backstage | Bastidores reais de produtos, empresas, processos, times e operacao |
| Audience | AI Maturity |
|---|---|
| Founder / CEO | mixed |
| Empresario de PME | mixed |
| Audience | AI Maturity |
|---|---|
| Iniciante em IA | beginner |
| Builder / Empreendedor Digital | intermediate |
| Executivo | mixed |
| Freelancer / Profissional Independente | mixed |
| Profissional buscando produtividade com IA | intermediate |
| Pillar | Target % |
|---|---|
| IA aplicada a negocios | 25% |
| Construcao com IA | 20% |
| Automacao e alavancagem | 20% |
| Gestao e decisao | 15% |
| Ferramentas aplicadas | 10% |
| Experimentos e futuro pratico | 10% |
Target editorial mix — not current performance:
Strategic role + funnel are separate dimensions. Combinations observed:
| Product | Description | Role | Funnel | Reinforces |
|---|---|---|---|---|
| Eu Construi | Rodrigo mostra algo real que construiu usando IA ou tecnologia | AUTHORITY | MOFU | AI_AS_COWORKER, BUILDING, BUSINESS_BACKSTAGE |
| Eu Testei | Teste real de ferramenta, hipotese, abordagem ou capacidade com conclusao baseada em experiencia | DISCOVERY | TOFU | DATA_RESULTS, EXPERIMENTING |
| Resolvi com IA | Conteudo problem-first mostrando como um problema real foi diagnosticado e resolvido com IA | AUTHORITY | MOFU | AI_AS_COWORKER, DATA_RESULTS, SOLVING |
| Se Eu Fosse o CEO | Diagnostico e tomada de decisao aplicada a uma empresa, contexto ou problema real | AUTHORITY | MOFU | DECISION_MAKING, SOLVING |
| Raio-X | Analise estruturada de uma empresa, operacao, caso, produto ou estrategia | AUTHORITY | MOFU | DATA_RESULTS, DECISION_MAKING |
| Framework | Modelo estruturado e reutilizavel para pensar, decidir ou executar um problema | AUTHORITY | MOFU | DATA_RESULTS, DECISION_MAKING |
| Bastidor | Processo, rotina, construcao, decisao ou execucao real de Rodrigo | IDENTITY | TOFU | BUILDING, BUSINESS_BACKSTAGE |
| Ferramenta em Campo | Ferramenta demonstrada dentro de um problema ou fluxo real de trabalho | AUTHORITY | MOFU | AI_AS_COWORKER, EXPERIMENTING |
| Aposta | Tese, opiniao ou previsao de Rodrigo baseada em experiencia pratica e visao de operador | DISCOVERY | TOFU | DECISION_MAKING |
| Aula | Conteudo estruturado e profundo para ensinar um problema relevante de IA aplicada a negocios | AUTHORITY | MOFU | DATA_RESULTS, DECISION_MAKING |
Anti-patterns the channel must avoid:
| Guardrail | Description | Severity |
|---|---|---|
| Nao ser produtividade generica | Produtividade deve aparecer conectada a IA, execucao, negocios ou alavancagem real | WARNING |
| Nao ser hype-first | Evitar conteudo cuja principal proposta seja sensacionalismo, medo ou promessa exagerada sobre IA | STRONG_WARNING |
| Nao ser um canal de noticias de IA | Noticias podem ser usadas como materia-prima, mas nao devem existir sem consequencia pratica | WARNING |
| Nao ser um canal de prompts magicos | Evitar posicionamento centrado em listas de prompts ou truques superficiais | STRONG_WARNING |
| Nao ser tecnologia pela tecnologia | Conteudo tecnico deve manter conexao clara com aplicacao, construcao, operacao, decisao ou resultado | WARNING |
| Nao ser reviewer de ferramentas | Ferramentas devem aparecer subordinadas a problemas reais e aplicacoes, nao como identidade principal do canal | WARNING |
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.
Buttons: All | Last 7 days | Last 14 days | Last 30 days + "Include archived" checkbox
| Section | Description | Current State |
|---|---|---|
| Editorial Pillars | Distribution of content across editorial pillars vs. targets | No data |
| Content Jobs | How content is distributed across strategic roles | No data |
| Content Product Mix | Breakdown by content product type (table with Count, Share, Bar) | Empty table |
| Identity Coverage | Which identity signals are being reinforced | No data |
| Funnel Distribution | TOFU/MOFU/BOFU balance | No data |
| Strategic Alerts | System warnings about portfolio health | "Empty Portfolio — No portfolio items exist. Balance cannot be assessed." |
| Portfolio Items | Table: Title, Status, Source, Pillar, Strategic Role, Funnel, Content Product, Audience, Planned, Published | "No portfolio items in this window." |
Pre-flight checks and system configuration status. URL: /system
| Check | Status | Detail |
|---|---|---|
| Overall | PASS | — |
| channels_file | PASS | 16 channels (15 active) |
| db_directory | PASS | /app/data |
| youtube_api_key | PASS | [CONFIGURED] |
| llm_provider | PASS | [CONFIGURED] |
| output_directory | PASS | output |
| bootstrap_data | PASS | SP-001 found |
| disk_space | PASS | 22722 MB free |
| Status | FREE |
When FREE, the system can accept new radar runs. When locked, runs are blocked (e.g., during maintenance).
| Setting | Value |
|---|---|
| Ready | YES |
| Enabled | DISABLED |
| Interval | 24h |
| Feature | Status | Data Present | Notes |
|---|---|---|---|
| Authentication | COMPLETE | Yes | Email/password login works, session management active |
| Dashboard / Home | COMPLETE | Yes | All KPIs populated, Run Radar action works |
| Run History (list) | COMPLETE | Yes, 9 runs | Table with status, duration, stats. Two run formats (UUID + PRUN-*) |
| Run Detail | COMPLETE | Yes | Overview, Stage Timeline, Sources, Videos, Intelligence sections |
| Sources (list) | COMPLETE | Yes, 17 channels | Channel name, ID, language, video count, health status |
| Source Detail | NOT FOUND | — | No clickable detail page for individual sources. No links in table rows |
| Opportunities (list) | COMPLETE | Yes, 104 total | 5 status categories, full table with ICP/VOS/Decision |
| Opportunity Detail | COMPLETE | Yes | Up to 14 sections per opportunity. Action buttons for candidates |
| Content Strategy | COMPLETE | Yes | Identity, audiences, pillars, roles, products, guardrails all populated |
| Strategy Edit | NOT FOUND | — | No edit/create UI for strategy elements. Appears config-driven |
| Portfolio (overview) | COMPLETE | Structure yes, data no | All sections render but portfolio is empty (0 items) |
| Portfolio Item CRUD | NOT FOUND | — | No add/create button visible for portfolio items |
| System Health | COMPLETE | Yes | Pre-flight checks (7), production lock, scheduler config |
| Scheduler Controls | READ ONLY | Yes | Shows status but no enable/disable toggle visible |
| Channel Management (CRUD) | MISSING | — | No UI to add/remove/edit channels. Managed via channels_file config |
| User Management | MISSING | — | No multi-user, no roles, no invite, no user settings |
| Notifications/Alerts | MISSING | — | No email/push notifications for new opportunities or run failures |
| Data Export | MISSING | — | No CSV/PDF/API export functionality visible |
| Analytics/Charts | MISSING | — | No time-series charts, trend analysis, or visual analytics |
| API Documentation | MISSING | — | No /api or /docs endpoint found |
| Entity | Count | Notes |
|---|---|---|
| YouTube Channels | 17 (15 active, 2 UNKNOWN) | Multi-language: en/pt/es |
| Videos Tracked | 1,710 total collected | 2,639 discovered, 203 selected per run |
| Pipeline Runs | 9 | 7 successful, 1 failed, spanning Aug 9-10 |
| Signals Generated | 268 (per pipeline run) | From intelligence stage |
| Opportunities Total | 104 | 3 candidates + 17 review + 4 authorized + 79 rejected + 1 promoted |
| ICPs Defined | 7+ | From ICP-1 to ICP-7 plus custom profiles |
| Identity Signals | 7 | Building, Solving, Experimenting, AI as Coworker, Data & Results, Decision Making, Business Backstage |
| Target Audiences | 7 | 2 primary + 5 secondary |
| Editorial Pillars | 6 | With target % distribution (total 100%) |
| Content Products | 10 | Each with Role, Funnel, and Reinforcement mapping |
| Guardrails | 6 | 2 STRONG_WARNING + 4 WARNING |
| Portfolio Items | 0 | Portfolio structure exists but no content registered |
| Component | Status | Details |
|---|---|---|
| YouTube API | CONFIGURED | Used for video/channel data collection |
| LLM Provider | READY | Powers intelligence stage (opportunity detection) |
| Database | PASS | At /app/data |
| Bootstrap Data | PASS | SP-001 found (content strategy V1) |
| Disk Space | PASS | 22,722 MB free |
| Production Lock | FREE | System can accept new runs |
| Scheduler | DISABLED | Ready but disabled, 24h interval |