operations — restricted
Operations
internal dashboard / workflows + APIs
Automated Workflows
Daily Report
BRAND: brainrot.report
Schedule: Every day, 6 AM PT (1 PM UTC)
Workflow: .github/workflows/daily-generate.yml
What it does:
1. Scrapes 31 RSS sources (news, art, culture, fashion, business, academic, Substacks, SFAQ)
2. Pulls Culture Slop graph (49 nodes, 60 edges) for synthesis context (links disabled while pages are in draft)
3. Fetches Google Trends RSS, filters for relevant verticals, passes as cultural context signal
4. Scrapes turbofund.io/sitemap.xml to build dynamic TurboFund sponsor link map
5. Claude Sonnet generates exactly 7 SEO-optimized reports with h2 subheadings, short slugs, keywords
6. Reports include TurboFund sponsor links (3-4 of 7 articles) wrapped in sponsored-link class + rel=sponsored
7. Commits to GitHub as Chug1, pushes to main
8. Triggers Vercel production deploy via API
Output: 7 new article pages on brainrot.report + updated RSS feed + updated sitemap
Cost: ~$0.15/day (Claude API)
Social Engine
BRAND: brainrot.report
Schedule: Every day, immediately after Daily Report completes
Workflow: Same as Daily Report (post-social step)
What it does:
1. Claude generates a pull-quote from today's 7 reports
2. Satori/resvg renders a branded daily card image (1080x1080 square, optimized for mobile + desktop LinkedIn)
3. Claude writes LinkedIn recap post (all 7 reports summarized)
4. Posts to Andrew's personal LinkedIn with daily card image
5. Claude generates a meme per article via Imgflip (15 template pool)
6. Posts top 3 individual reports to Threads (@brainrot.report) with meme images
LinkedIn: Andrew's personal account (w_member_social). Company page pending Community Management API.
Threads: @brainrot.report (user ID: 26039376289081439). Posts with meme images (pending Imgflip creds).
X: Not yet connected
Cost: ~$0.08/day (Claude for recap + quote + meme generation)
Signal Report
BRAND: TurboFund
Schedule: Sun 6 PM PT, Mon 10 AM PT, Wed 10 AM PT (week = Mon-Sun, recap on following Monday)
Workflow: .github/workflows/signal-report.yml
What it does:
1. Batch-resolves 154 investor X handles to user IDs
2. Fetches last 48h tweets (exclude RT/replies, max 10 per investor, 200ms rate limit delay)
3. Claude classifies each tweet as a signal (type, sector, strength, summary)
4. JSON self-repair layer if classification response is malformed
5. Outputs /api/signals.json with investor avatars (400x400), signal data, themes
6. Commits + deploys to Vercel
Investors: 154 total (118 angels + 36 fund partners). Lightspeed, Bessemer, General Catalyst, Index, Greylock, Sequoia, a16z, IVP, and more.
Consumed by: turbofund.io/signals page (planned), TurboFund LinkedIn (planned), TurboFund X @turbo_fund (planned)
Cost: ~$0.20/run X API + ~$0.15/run Claude = ~$1.05/week
Public APIs
Signal API
GET /api/signals.json
Updates: Sun PM, Mon AM, Wed AM
Fields: meta (counts, timestamp), themes[], signals[] (investor.avatar, investor.name, investor.firm, tweet.text, signal.type, signal.sector, signal.strength)
Signal types: thesis_shift, sector_bullish, sector_bearish, deal_signal, market_commentary, product_endorsement, hiring_signal, contrarian_take
RSS Feed
GET /rss.xml
Updates: Daily (every build)
Consumers: RSS readers, Buttondown newsletter (planned)
Sitemap
GET /sitemap-index.xml
Updates: Daily (every build)
Consumers: Google Search Console (verified), Bing
External APIs Consumed
Culture Slop Graph
GET thecultureslop.com/api/graph
Used by: Daily Report (contextual Culture Slop backlinks)
Data: 49 nodes, 60 edges (experiences, subjects, topics, institutions, places)
TurboFund Sitemap
GET turbofund.io/sitemap.xml
Used by: Daily Report (dynamic TurboFund backlink map)
Data: All TurboFund URLs (blog posts, product pages, signals). Auto-updates when they add new content.
Replaces: Previously hardcoded list of 11 blog URLs
X API v2
api.x.com/2/users, api.x.com/2/users/:id/tweets
Used by: Signal Report (investor tweet ingestion)
Plan: Pay-per-use ($5 credits loaded, ~25 days)
Claude API (Anthropic)
Claude Sonnet 4.6
Used by: Everything. Report generation, signal classification, LinkedIn recap, daily card quote, JSON repair.
LinkedIn API
api.linkedin.com/rest/posts, /rest/images
Used by: Social Engine (daily recap post + image upload)
Scope: w_member_social (personal). Org posting pending.
Token expires: ~May 2026
Threads API (Meta)
graph.threads.net/v1.0
Used by: Social Engine (top 3 report posts)
Account: @brainrot.report
Imgflip API
api.imgflip.com/caption_image
Used by: Social Engine (meme generation for Threads image posts)
Templates: 15 meme templates (Drake, Distracted Boyfriend, Expanding Brain, UNO Draw 25, etc.)
Flow: Claude picks template + writes slot text per article → Imgflip renders → Threads posts as IMAGE type
Status: Pending creds -- IMGFLIP_USERNAME + IMGFLIP_PASSWORD secrets needed in GitHub
Google Trends RSS
trends.google.com/trending/rss?geo=US
Used by: Daily Report (cultural context signal for synthesis)
Flow: Fetches trending topics → filters for verticals (tech, art, culture, fashion, business) → passes to Claude as context, not topics
Auth: None required (public RSS)
LinkedIn Outreach Engine
LinkedIn Outreach
MULTI-BRAND: Sales, Investors, Culture Slop
Status: Built -- Playwright browser automation with persistent Chrome session
Database: SQLite (outreach.db) -- contacts, statuses, notes, timestamps
Campaigns: sales (→ brainrot.report/sales), investors (→ brainrot.report/investors), cultureslop (→ cultureslop.com)
Campaign modes: manual (human reviews first batch), auto (runs on its own after approval), paused
Message variants: 3 per campaign, 300 char max, template-based with variable substitution
Dashboard: localhost:3333 (stats per campaign, mode toggles, queue management, inline note editor with 300-char counter)
Round-robin: Daily limit spread evenly across active campaigns, auto-cycles when one runs out
Queue workflow:
1. Import contacts from CSV (Apollo, TurboFund investor DB)
2. Generate queue: notes auto-generated, round-robin across campaigns
3. Review/edit in dashboard (manual mode) or skip review (auto mode)
4. Connect: opens Chrome, visits profiles, sends connection requests with human-like delays
5. Tracks sent/failed/skipped/connected per contact
Safety rules:
20 connections/day max (configurable)
Randomized delays (45s-120s between requests)
Checks for already-connected, pending requests, dead profiles
Human-like typing speed for notes
Planned: Apollo API sync (auto-import when sequence emails sent), signal-based personalization (Claude reads profile for custom notes), Voyager API migration
TODO
LinkedIn Outreach
Set Imgflip creds in GitHub secrets (IMGFLIP_USERNAME + IMGFLIP_PASSWORD) for Threads memes
Apollo API sync: auto-import contacts when Apollo sequence emails are sent (poll emailer_messages/search)
Signal-based personalization: Claude reads LinkedIn profile/title/company for custom notes (v2)
Voyager API migration: direct API calls instead of Playwright browser automation
Advertiser outreach campaign: 4th campaign type targeting potential sponsors
Social Distribution
LinkedIn Community Management API: org posting for brainrot.report + TurboFund company pages (app 86uu2mqfrcxxyl submitted, company page 113003505)
Move LinkedIn link to first comment instead of post body (algo penalty)
TurboFund X (@turbo_fund): OAuth setup for auto-posting Signal Report
brainrot.report X: account creation + auto-posting
Signal Report: auto-post to TurboFund LinkedIn + X after each run
Monetization
Parameterize sponsor system: multi-sponsor support from config, not hardcoded prompt
Newsletter via Beehiiv (has API, paid tier support, built-in ad network)
Free tier: daily digest. Paid ($10-15/mo): weekly signal report, trend predictions, graph data
Sponsor self-serve portal: submit brand, get relevance scoring, Stripe billing
Cultural intelligence API: structured data access for agencies/brands (connection graph, trends)
Advertiser outreach automation: scrape brands from source sites, outreach via LinkedIn
Analytics
Set up Mixpanel for brainrot.report (currently only Vercel Analytics)
Track article reads, source clicks, backlink performance, archive engagement
UI / Design
Full UI redesign: current version not there yet. Inspiration: unnamed.xyz (heavy serif, video, blend modes, high-end editorial energy)
Less "developer" energy, more magazine/editorial. Larger typography, whitespace, asymmetric layouts, serif body font
Signal Report
Build turbofund.io/signals page to consume /api/signals.json
LinkedIn carousel: 8-slide technical breakdown already built (~/Desktop/HTML Files/carousel.html)
Big Vision
Programmatic Media Company
AI-native media at software margins
Thesis: Automated content generation + niche audience + programmatic sponsorships = media company at 80-90% margins. Traditional media runs at 10-20% margins because of headcount. Our costs are API calls.
The three layers:
1. brainrot.report -- automated media engine. Daily cultural intelligence, sponsorships, newsletter. The "what's happening now" layer.
2. Culture Slop -- deep knowledge graph. Original content, print + digital, mapping how culture connects. The "why it matters" layer. Graph data feeds brainrot.report synthesis.
3. SaaS platform -- the "build with it" layer. Cultural graph as infrastructure. API-driven widgets, micro-blogs, a new kind of Linktree where your page is a living map of cultural connections.
Revenue streams:
1. Contextual sponsor placements ($1-3k/mo per sponsor, TurboFund is proof of concept)
2. Paid newsletter tier ($10-15/mo, weekly signal reports + trend predictions)
3. Cultural intelligence API (agencies, trend forecasters, brand strategists)
4. Sponsor self-serve marketplace (submit brand, auto-placement, Stripe billing)
Comps: Morning Brew ($75M exit), The Hustle ($27M to HubSpot), Industry Dive ($525M). Except we run it with an API key instead of a newsroom.
Content Synthesis Engine (API / MCP)
White-label brainrot.report: users configure verticals, tone, backlinks, frequency
Every instance propagates the source engine's backlinks into downstream content
Network effect: more instances = more backlinks flowing back to core properties
Monthly SaaS fee for automated content generation
Investor Signal Intelligence (API / MCP)
Signal Report as a standalone API: real-time investor sentiment from X
Configurable investor watchlists, custom signal taxonomies
MCP tool: "what are VCs saying about AI infra this week?"
Feed into CRMs, dashboards, fundraising workflows
Social Distribution Engine (API / MCP)
Multi-platform posting: LinkedIn, Threads, X from one API call
AI-generated platform-specific copy from a single source article
Image generation (daily cards, carousels) as a service
MCP tool: "post today's report to all channels"
LinkedIn Outreach Engine (API / MCP)
Voyager API wrapper with safety rails, rate limiting, warm-up schedules
A/B message testing, acceptance rate tracking, auto-withdraw stale requests
Multi-account rotation for scale
MCP tool: "send 20 TurboFund connection requests today"
Culture Slop Knowledge Graph (API / MCP)
Real-time cultural graph: 49 nodes, 60 edges mapping how ideas spread
Contextual backlink engine: match any content to relevant graph nodes
MCP tool: "what Culture Slop nodes relate to this topic?"
Gate: Validate after 30 days of brainrot.report proving organic traffic + backlink value. Don't build the SaaS layer until the core use case works.