Skip to content

Use the Dashboard

The Streamlit dashboard provides an operator view into the content pipeline. It runs at http://localhost:8501 locally or via Streamlit Cloud in production.

Authentication

The dashboard uses streamlit-authenticator with credentials stored in the database. On first run, an admin user is created from DASHBOARD_ADMIN_EMAIL and DASHBOARD_ADMIN_PASSWORD.

Roles

Role Access
editor All pages except Prompts and User Management
admin All pages, including prompt editing and user management

Pages

Pipeline

Overview of pipeline activity: status counts, recent runs, cost summary, and action items (articles pending review).

Briefs

Review, edit, approve, or reject pending article briefs. Each brief shows the proposed structure, keywords, and outline. Approved briefs move to the production queue.

Trusted Sources (Admin): A second tab lets admins manage the curated catalog of authoritative tinnitus sources that are injected into brief generation. Each source has a name, domain, category (academic journal, medical org, patient org, etc.), language, and notes. Sources can be toggled active/inactive and new sources can be added via form.

Backlog

Manage the content backlog with filters by status, pillar, language, and content type.

Views:

  • Flat table — editable data grid with inline editing (title, pillar, language, content type, keyword, priority, status)
  • Tree view — cornerstones as expandable sections with nested satellite tables showing progress

Admin features:

  • Add individual backlog items via form
  • CSV bulk import (see below)

Article Detail

Deep-dive into a single article across 6 tabs: overview, drafts, quality scores, cost breakdown, timeline, and taxonomy assignments.

Research News

Manage RSS feed sources, view triaged items, and preview digest articles.

Prompts (Admin)

View, compare, and manage agent prompt versions. Shows active/inactive status and prompt text diff between versions.

Analytics

Cost trends, quality metrics, production throughput, and source analytics over time.

User Management (Admin)

Create and edit dashboard users, assign roles, reset passwords, and view the audit log.

CSV Import

The backlog page supports bulk import from CSV files.

Required Columns

Column Type Description
content_type string Article type: satellite, cornerstone, or research_news
pillar string Content pillar: p1 through p5
language string Language code: en or de
primary_keyword string Main SEO keyword
working_title string Article working title
target_word_count integer Target length in words (e.g., 1500)
priority_score number Priority score from 0.0 to 100.0
source string Origin: seo_research, manual, or gap_analysis

Optional Columns

Column Type Default Description
secondary_keywords text {} Comma-separated secondary keywords
search_intent string informational Search intent type
journey_stage string exploration User journey stage
info_gain_angle string "" Unique angle or information gain
aeo_priority string standard AI Engine Optimization priority
authorship_level string brand_attributed Attribution level
status string planned Initial status
cornerstone_id UUID null UUID of parent cornerstone (for satellites)
notes string "" Free-text notes

Example CSV

content_type,pillar,language,primary_keyword,working_title,target_word_count,priority_score,source
satellite,p1,en,tinnitus causes,What Causes Tinnitus?,1500,75.0,seo_research
satellite,p2,de,tinnitus behandlung,Tinnitus Behandlung: Ein Leitfaden,2000,80.5,seo_research
cornerstone,p1,en,tinnitus overview,Complete Guide to Tinnitus,3000,95.0,manual

Import Steps

  1. Navigate to the Backlog page
  2. Scroll to CSV Import (admin only)
  3. Upload your CSV file
  4. Preview the first 20 rows
  5. Click Import to Backlog

Column names must match the database column names exactly. See the Database reference for full column definitions.