Skip to main content
AI & Automation

Content Studio

Unified AI content creation platform with voice authenticity scoring, RAG fact-checking, and multi-platform publishing — the front door to the MyVoice pipeline

March 15, 2026

Content Studio

Content Studio is ArgoBox’s unified content creation interface. It combines a word processor, AI content generation, real-time voice authenticity scoring, RAG-powered fact checking, and multi-platform preview into a single 3-column workspace.

URL: /admin/content-studio

Architecture

┌──────────┬─────────────────────────────┬──────────────┐
│ SOURCES  │         EDITOR              │  ANALYSIS    │
│          │                             │              │
│ RAG      │  Write │ Markdown │ AI Gen  │  Voice Ring  │
│ Search   │                             │  Fact Check  │
│ Context  │  [Editor Body]              │  Preview     │
│ Queue    │                             │  Actions     │
│ Existing │  chars • words • status     │              │
└──────────┴─────────────────────────────┴──────────────┘

3-Column Layout

Source Panel (left, 280px)

  • RAG search across Knowledge (103K chunks), Private (304K), Vaults (294K)
  • Expandable results with full text and “Use” button
  • Context Queue — selected RAG results injected into AI generation
  • Existing content browser (all posts + journals, filterable)

Editor (center)

  • Write tab — Contenteditable rich text editor with toolbar (bold, italic, code, H1-H3, lists, quote, undo/redo) and keyboard shortcuts (Ctrl+B, Ctrl+I)
  • Markdown tab — Raw markdown textarea with sync to rich text
  • AI Generate tab — Topic/transcript → AI content generation with streaming
  • Metadata bar: title, description (SEO), date, tags
  • Real-time character and word count

Analysis Panel (right, 300px)

  • Voice authenticity ring (SVG circular gauge, 0-100)
  • 4-metric breakdown with color-coded bars
  • Flagged sentences with fix suggestions
  • RAG fact checking with relevance scores
  • Platform preview (Blog, Journal, LinkedIn, Reddit)
  • Save Draft / Publish buttons

AI Content Generation

The AI Generate tab streams content via /api/admin/content-gen:

  1. User enters topic, transcript, command output, or daily summary prompt
  2. RAG context from Context Queue is injected automatically
  3. System searches RAG for related existing content (avoids duplication)
  4. Voice profile + verified facts + denied claims assembled into system prompt
  5. Content streams from selected model (Gemini Flash/Pro, Claude Sonnet/Opus)
  6. User clicks “Accept” → content loads into editor for review and editing

Input Modes

ModeUse CaseWhat AI Does
TopicBlog post about a subjectRAG search for fresh angle, avoid repeating existing posts
TranscriptPaste a session log or conversationExtract narrative arc, commands, errors, breakthroughs
CommandPaste terminal outputWrap in narrative context with voice personality
DailyEnd-of-day journalSynthesize git commits, session notes, RAG results

Voice Authenticity Scoring

Endpoint: POST /api/argonaut/voice-score

Scores content against Daniel’s verified voice patterns (extracted from 2,577 conversations, 9.6M words).

Scoring Algorithm (4 weighted metrics)

MetricWeightTargetHow It’s Measured
Sentence Length20%13.2 words avg100 - abs(avgLen - 13.2) * 10
Banned Patterns35%0 found-15 points per AI phrase detected
First Person20%80%+ “I/my”Ratio of I/me/my vs we/our/us
Casual Tone25%60%+ casualFragments + contractions vs semicolons + passive

Banned Patterns (15+)

Phrases that AI uses but Daniel doesn’t:

  • “Let me explain”, “Here is the code”, “I’ll help you”
  • “As an AI”, “I apologize”, “It’s important to note”
  • “In conclusion”, “Successfully”, “Utilize”, “Leverage”
  • “Implement a solution”, “Based on the above”, “Moving forward”
  • Green checkmarks, numbered “Lessons Learned” lists

Each detected pattern shows the specific line, text, and a suggestion for what to write instead.

RAG Fact Checking

Endpoint: GET /api/argonaut/search?q=<keywords>&limit=5

Extracts proper nouns, years, and technical terms from content, then searches the RAG knowledge base for related context. Shows:

  • Matching knowledge chunks with text preview
  • Relevance scores (0-100%)
  • Source collection (docs, blog, conversation-archive, etc.)

Loading Existing Content

Clicking any post or journal entry in the Source Panel loads it via GET /api/admin/content-body?type=post&slug=xxx:

  • Populates title, description, tags, date
  • Loads full markdown body into editor
  • Switches to Write tab

Platform Preview

Shows how content will render on different platforms:

  • Blog — Full heading, narrative text, argobox.com URL
  • Journal — Purple badge, italic mood, timestamp feel
  • LinkedIn — Truncated text, hashtags (#infrastructure #homelab #devops)
  • Reddit — r/homelab subreddit style, casual formatting

Data Flow

User Input (topic/transcript)

[Content Studio UI]
    ↓ POST /api/admin/content-gen
[RAG Search] → top 5 related chunks (minScore: 0.25)

[Voice Profile Build] → identity rules + hardware facts + voice patterns

[Facts Injection] → verified facts + denied claims guardrails

[System Prompt Assembly] → template + voice + facts + RAG + instructions

[LLM Streaming] → SSE response (provider-routed: Anthropic/Google/OpenRouter)

[Content Studio] → streams into AI Generate tab

[Accept] → loads into Write tab for editing

[Voice Check + Fact Check] → real-time analysis

[Publish] → writes to src/content/posts/ or src/content/journal/

Design System

  • Theme: Dark (#060a14 base) with glass morphism panels
  • Accents: Cyan (#06b6d4) for interactive elements, purple (#8b5cf6) for AI/generation
  • Fonts: Orbitron for labels/headers, Inter for body, Fira Code for data/mono
  • Effects: Animated grid background, scan-line during generation, glow on hover
  • Responsive: Collapses to single column on mobile (<1024px)

Key Files

FilePurpose
src/pages/admin/content-studio.astroMain UI (1400+ lines)
src/config/admin-nav.tsNav entry (Content group, featured+AI badge)
src/pages/api/admin/content-gen.tsStreaming content generation
src/pages/api/admin/content-body.tsLoad existing content by slug
src/pages/api/argonaut/voice-score.tsVoice authenticity scoring
src/pages/api/argonaut/search.tsRAG search
src/lib/voice-engine.tsscoreVoiceAuthenticity() algorithm
src/lib/voice-profile.tsSystem prompt builder with voice rules
src/lib/facts-loader.tsVerified facts + denied claims
src/lib/myvoice-client.tsMyVoice Studio API client
content-studiovoiceragcontent-generationmyvoiceaipipeline