Pressroom is a hosted platform with a web dashboard, a REST API, and an MCP server for headless access via Claude Code.
Architecture
System overview
Pressroom is a hosted platform with a web dashboard, a REST API, and an MCP server for headless access via Claude Code.
┌──────────────────────────────────────────────────────────────┐
│ Web Dashboard │
│ Scout | Stories | Queue | Publish | Audit | Voice | Video │
│ GSC | Blog | Assets | Scoreboard | Activity Log │
└─────────────────────────┬────────────────────────────────────┘
│
┌─────────────────────────┴────────────────────────────────────┐
│ Pressroom Platform │
│ │
│ ┌──────────┐ ┌───────────┐ ┌───────────────────────────┐ │
│ │ API │ │ Engine │ │ Skills │ │
│ │ │→ │ │→ │ humanizer, seo_geo, taste │ │
│ │ │ │ │ │ channels/*, custom... │ │
│ └──────────┘ └─────┬─────┘ └───────────────────────────┘ │
│ │ │
│ ┌────────────────────┴──────────────────────────────────┐ │
│ │ Service Layer │ │
│ │ services/performance.py — Content performance metrics │ │
│ │ services/blog_publisher.py — Blog publishing │ │
│ │ services/storage.py — S3/cloud storage │ │
│ │ services/social_auth.py — Social OAuth helpers │ │
│ │ skills/channels/ — Channel generation templates │ │
│ └────────────────────┬──────────────────────────────────┘ │
│ │ │
│ ┌────────────────────┴──────────────────────────────────┐ │
│ │ Data Layer │ │
│ │ Per-org isolated storage + DreamFactory │ │
│ └────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
│
┌─────────────────────────┴────────────────────────────────────┐
│ External Services │
│ Claude API | GitHub | LinkedIn | HubSpot | RSS | Medium │
│ Google Search Console | Slack | Dev.to | YouTube | S3 │
└─────────────────────────┬────────────────────────────────────┘
│
┌─────────────────────────┴────────────────────────────────────┐
│ Remotion Renderer (React/Node) │
│ YouTube scripts → Remotion components → rendered video │
└─────────────────────────┬────────────────────────────────────┘
│
┌─────────────────────────┴────────────────────────────────────┐
│ MCP Server │
│ ~100 tools — headless access for Claude Code │
└──────────────────────────────────────────────────────────────┘
Data model
Core
| Concept | Purpose |
|---|
| Organizations | Multi-tenant workspaces — each org is isolated |
| Signals | Industry signals pulled from HN, Reddit, GitHub, RSS |
| Content | Generated content queue with status workflow |
| Stories | Editorial story containers (curated signals + angle) |
| Story signals | Signal-story relationships with editor notes |
| Briefs | Daily brief summarizing signals + editorial angle |
| Settings | Key-value org configuration |
SIGINT pipeline
| Concept | Purpose |
|---|
| Sources | Global source library (Reddit, HN, RSS, X search, trends) |
| Org sources | Per-org source subscriptions |
| Raw signals | Crawled signals before relevance filtering |
| Org fingerprints | Per-org embedding vector for relevance scoring |
Wire
| Concept | Purpose |
|---|
| Wire sources | Company-owned feeds (GitHub repos, blog RSS, changelog) |
| Wire signals | Signals from company’s own channels |
Supporting
| Concept | Purpose |
|---|
| Team members | Discovered team members with expertise tags and voice analysis |
| Blog posts | Scraped blog context for voice training |
| Company assets | Tracked digital assets (logos, images, brand materials) |
| Site properties | SEO properties (domains, blog URLs) for auditing workflows |
| Audit results | SEO/README audit results |
| SEO PR runs | SEO PR pipeline run tracking |
| Email drafts | Composed email templates |
| AI visibility | Questions + citation results from ChatGPT/Perplexity/Claude |
| Competitor audits | Competitor SEO + citation scores |
| Token usage | API token consumption tracking by operation and over time |
| Activity log | War room log of all platform actions |
| Data sources | Custom external data source connections (MCP, REST API) |
| GSC data | Google Search Console analytics, URL inspection, sitemaps |
| Brand assets | Auto-discovered brand colors, logos, assets from domain crawl |
| Scoreboard | Multi-org rankings and per-team-member activity stats |
Content status workflow
generating → queued → approved → published → tracked
↘ spiked
- generating — Claude is producing content
- queued — Ready for human review
- approved — Greenlit for publish
- spiked — Rejected (used as anti-pattern memory for future generation)
- published — Sent to destination platform
- tracked — Post-publish performance metrics (views, likes, comments, shares) collected from LinkedIn, Dev.to
Multi-tenancy
Each organization is fully isolated. Signals, content, settings, team members, and audit results are scoped per org. Account-level settings (API keys, OAuth credentials) are shared across orgs within the same account.
Signal types
| Type | Source |
|---|
github_release | GitHub releases API |
github_commit | GitHub commits API |
hackernews | HN search API |
reddit | Reddit scraping |
rss | RSS feed parsing |
web_search | Web search |
trend | Trend discovery |
support | Support ticket analysis |
performance | Performance metrics |
gsc | Google Search Console data |
Content channels
| Channel | Output format |
|---|
linkedin | Professional post with hooks |
devto | Dev.to article with frontmatter |
x_thread | Thread-format short posts |
facebook | Social post |
blog | Long-form article with headers |
release_email | Email template with subject line |
newsletter | Newsletter digest format |
yt_script | YouTube script with hook, sections, lower thirds |
github_gist | GitHub gist (generated and published for team members) |
AI models
| Task | Model |
|---|
| Content generation | Claude Sonnet |
| Humanization | Claude Sonnet |
| Relevance filtering | Claude Sonnet |
| SEO analysis | Claude Sonnet |
| Fast tasks (classification) | Claude Haiku |
| Embeddings (optional) | Voyage |
Access methods
| Method | Best for |
|---|
| Web dashboard | Day-to-day content workflow, approvals, publishing |
| REST API | Custom integrations, automation, programmatic access |
| MCP server (~100 tools) | Claude Code sessions, AI-driven content operations |