An autonomous AI media company that monitors AIBTC News for signals from the Bitcoin agent economy, generates editorial comic strips, and publishes them with commentary.
Think: The New Yorker meets Bitcoin Magazine, run entirely by an autonomous agent.
- Scan — Monitors aibtc.news for intelligence signals from autonomous agents across beats (dev-tools, governance, ordinals, DeFi)
- Score — LLM evaluates each signal for comic potential: visual hook, irony, timeliness, significance
- Ideate — Generates comic strip concepts with composition, visual gags, and character design
- Generate — Creates illustrated variants (targeting expressive line art, minimal backgrounds, personality through design)
- Caption — Generates and selects the perfect caption to complete the joke
- Edit — Independent quality review ensures strips are funny, clear, and aligned with editorial voice
- Publish — Posts with full story context and attribution
Stack: Bun, Fastify, Claude (Anthropic), Gemini (image gen), React 19, Vite, Tailwind 4, Cloudflare R2 (CDN), Postgres (encrypted backup)
Pipeline:
AIBTC News → Scanner → Scorer → Ideator → Generator → Captioner → Editor → Publisher
Content Source: aibtc.news — A decentralized intelligence network where AI agents claim beats, file signals, and earn sats for quality reporting.
bun install
cd frontend && bun install && cd ..
cp .env.example .env
# Fill in your keys
bun run devDashboard: http://localhost:5173 (proxies API to :3000)
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY |
Yes | Anthropic API key (Claude for reasoning, scoring, captioning) |
GEMINI_API_KEY |
Yes | Google AI API key (Gemini for image generation) |
AI_GATEWAY_API_KEY |
No | Vercel AI Gateway key (alternative model routing) |
TEST_MODE |
No | true for fast timers + single image variants |
PORT |
No | HTTP port (default: 3000) |
| CDN | ||
R2_ACCOUNT_ID |
No | Cloudflare R2 account ID (enables edge-cached media) |
R2_ACCESS_KEY_ID |
No | R2 access key |
R2_SECRET_ACCESS_KEY |
No | R2 secret key |
R2_BUCKET_NAME |
No | R2 bucket name |
R2_PUBLIC_URL |
No | Public URL for R2 bucket |
| Backup | ||
DATABASE_URL |
No | Postgres connection string (enables encrypted state backup) |
| Publishing | ||
TWITTER_POSTING_ENABLED |
No | true to enable cross-posting to Twitter/X |
TWITTER_BEARER_TOKEN |
No | Twitter API v2 bearer token |
TWITTER_API_KEY |
No | Twitter OAuth 1.0a consumer key |
TWITTER_API_SECRET |
No | Twitter OAuth 1.0a consumer secret |
TWITTER_ACCESS_TOKEN |
No | Twitter OAuth 1.0a access token |
TWITTER_ACCESS_SECRET |
No | Twitter OAuth 1.0a access secret |
TWITTER_USERNAME |
No | Bot's Twitter handle (without @) |
src/
├── pipeline/ # Content pipeline
│ ├── aibtc-scanner.ts # Monitors aibtc.news for signals
│ ├── scorer.ts # Evaluates comic potential
│ ├── ideator.ts # Generates concepts
│ ├── generator.ts # Creates images
│ ├── captioner.ts # Writes captions
│ └── editor.ts # Quality review
├── prompts/ # LLM prompts for each pipeline stage
├── agent/ # Autonomous loop & worldview
├── console/ # Event bus & live dashboard streaming
├── store/ # Persistent JSON storage
├── cdn/ # R2 upload & CDN serving
└── main.ts # Orchestrator
tests/ # Test scripts & utilities
├── test-e2e.ts # Full pipeline test
├── test-e2e-pipeline.ts # Scan → compose → inscribe
├── test-image-gen.ts # Image generation harness
├── test-pipeline.ts # Scan → score pipeline
└── regen-image.ts # Image regeneration utility
frontend/
├── src/
│ ├── components/ # React components
│ ├── lib/ # API client
│ └── App.tsx # Dashboard UI
Forked from Sovra and adapted for the Bitcoin agent economy. Blockchain auction systems were stripped for V1, while TEE deployment and the Ordinals wallet are being reintegrated. The core AI pipeline (scan → score → ideate → generate → caption → edit → publish) is preserved.
- AIBTC News scanner integration
- Strip blockchain/auction code (Solana, Base, Privy)
- Rewrite identity & prompts for AIBTC Media persona
- Update type definitions
- Simplify frontend (public viewer, no auth)
- Generate first sample strips
- Improve illustration quality & style consistency
- Add more RSS feeds
- TEE deployment for verifiable autonomy
- Ordinals wallet (agent self-custody)
- Deploy to Vercel
- Add more beats: mining, Lightning, Stacks, RGB
- Build archive page + RSS feed
- Ordinals marketplace
- Paid requests (Stacks/sBTC)
Built by: Andre Serrano Forked from: Sovra by @Gajesh2007 Content Source: AIBTC News
MIT License — see LICENSE file for details.
