Skip to main content

Overview

Two primary collections manage creator media content: scraped_media for content with engagement metrics, and scheduled_posts for the publishing queue.

scraped_media

Stores creator content scraped from platform accounts, including engagement metrics, taxonomy classifications, and media metadata.

Purpose

  • Archive all scraped content from connected platforms
  • Track engagement metrics (likes, comments, views, revenue)
  • Store taxonomy classifications for content discovery
  • Link media to creator profiles and platform sources
  • Enable AI-powered content analysis and recommendations

Key Fields

Taxonomy Integration

Media items are classified using the 6-concept taxonomy system:
See Taxonomy Collections for full classification system details.

Example Queries

List Recent Media

Find Top Performing Content

Search by Taxonomy Tags


scheduled_posts

Post publishing queue polled every 60 seconds by the media worker.

Purpose

  • Queue posts for cross-platform publishing
  • Schedule posts for specific dates/times
  • Track publishing status and errors
  • Support multi-platform simultaneous posting

Key Fields

Polling Mechanism

The media worker (media-worker/index.js) polls this collection every 60 seconds:

Example Queries

Create Scheduled Post

List Pending Posts

Update Post Status

  • creator_profiles - Platform accounts that create/publish content
  • media_jobs - Background processing jobs for media operations
  • taxonomy_mapping - Tag classifications applied to media

Workflow Integration

Content Scraping → Storage Flow

  1. Media worker runs scrape_profile job
  2. Stagehand extracts content from platform
  3. Records created in scraped_media with engagement metrics
  4. AI taxonomy classification applied (optional)
  5. Content available in Media Library dashboard

Post Publishing Flow

  1. User creates post via /app/calendar or AI chat
  2. Record created in scheduled_posts with status=pending
  3. Worker polls every 60s for posts where scheduled_for <= NOW
  4. Creates media_jobs entry with type publish_post
  5. Stagehand browser automation publishes to target platforms
  6. Status updated to published or failed with error details

Best Practices

  1. Use scheduled_for for timing - Set to current time for immediate publish, future time for scheduling
  2. Monitor retry_count - Posts failing 3+ times may need manual intervention
  3. Clean up old media - Archive or delete scraped_media after 90+ days to manage storage
  4. Batch taxonomy classification - Use taxonomy-tag action flow to classify multiple items
  5. Handle platform differences - Some platforms may require platform-specific caption formats

See Also