- Go to sheets.google.com
- Create new spreadsheet: "SPAM Campaign Database"
- Create these 4 sheets:
| Email | Subscribe Date | Source | Tags | Status |
|-------|---------------|---------|------|---------|
| Date | Day | Subject | Template | Status | Sent |
|------|-----|---------|----------|--------|------|
| Date | Subject | Recipients | Opens | Clicks | Unsubs |
|------|---------|------------|-------|--------|--------|
| GitHub Handle | Email | Contributions | Tokens Allocated | Status |
|---------------|-------|---------------|------------------|--------|
- Copy the Sheet ID from URL:
https://docs.google.com/spreadsheets/d/[THIS_IS_YOUR_SHEET_ID]/edit
-
Go to script.google.com
-
Create new project: "SPAM Campaign Automation"
-
Copy entire contents of
scripts/google-apps-script.js -
Replace these values:
YOUR_SPREADSHEET_ID: Your sheet ID from Step 1YOUR_GITHUB_TOKEN: Create at github.com/settings/tokensYOUR_GEMINI_API_KEY: Get from makersuite.google.com/app/apikey
-
Save the project
Create a Google Doc for each template:
Subject: 🚨 Mempool Monday: [DISASTER_METRIC]
This weekend's disaster: [ROAST_CONTENT]
BTC Fees: [FEE_AMOUNT]
BSV Fees: $0.0001
[CONTRACTS_SECTION]
[TOKEN_UPDATE]
[ECOSYSTEM_NEWS]
Subject: 🤔 Why [FAILURE_TOPIC]
Today's technical breakdown: [ROAST_CONTENT]
Meanwhile on BSV: [SUCCESS_METRIC]
[BUILDING_SECTION]
[CONTRIBUTOR_SPOTLIGHT]
Subject: 💸 Fee Friday: [HORROR_STORY]
This week's fee champion: [VICTIM_STORY]
Total wasted on fees: [WEEKLY_TOTAL]
[OPPORTUNITIES]
[INVESTOR_UPDATE]
In Google Apps Script:
- Run →
setupTriggers() - Review permissions → Allow
- Verify trigger created: Edit → Current project's triggers
The script will now run automatically at 10 AM daily and send on Mon/Wed/Fri.
- Export subscribers from Vercel logs or current storage
- Paste into "Subscribers" sheet
- Set all Status to "active"
- Check weekend BTC metrics
- Find best disaster story
- Review GitHub issues
- Approve/edit generated content
- Send
- Write technical roast
- Update contributor stats
- Add project updates
- Feature a developer
- Send
- Calculate week's fee totals
- Find worst fee story
- Update token allocation
- Add investor update if needed
- Send
[Emoji] [Day Theme]: [Specific Disaster/Number]
Examples:
- ✅ "🚨 Mempool Monday: 890 sat/vB Breaks Records"
- ✅ "💸 Fee Friday: Someone Paid $2,400 for One Transaction"
- ❌ "Newsletter Update" (boring)
- ❌ "Hi There!" (spam filter bait)
- Hook: Shocking stat or event
- Context: Why it's ridiculous
- Comparison: BSV doing it right
- Punchline: Witty observation
Example:
"Lightning Network lost 73 channels this weekend due to high
on-chain fees. The 'scaling solution' can't afford to scale.
Meanwhile, BSV processed 50 million transactions for less
than the cost of opening one Lightning channel. But sure,
keep calling it 'spam'."
// Add to Google Apps Script
function generateAIContent(topic) {
const prompt = `
Write a satirical paragraph about ${topic} in the style of The Onion.
Focus on Bitcoin/BTC failures and BSV successes.
Be funny but factual. Maximum 100 words.
`;
// Call Gemini API
const response = callGeminiAPI(prompt);
return response;
}Create a Google Data Studio dashboard:
- Connect to your Sheets
- Track:
- Subscriber growth
- Open rates by day
- Click rates by section
- Unsubscribe patterns
Test different:
- Subject lines (record winner)
- Send times (10 AM vs 2 PM)
- Content length (short vs detailed)
- CTA buttons (color/text)
- Manual outreach to 100 BSV developers
- Post best roasts on Twitter
- Share in Bitcoin forums
- GitHub README badges
- Referral rewards (50 $BMAIL per referral)
- Twitter spaces about BTC fees
- Meme contests with prizes
- Developer bounties for sharing
- Partner with BSV projects
- Guest roasts from known figures
- Sponsored slots ($100/email)
- Premium tier ($5/month, no ads)
- Warm up sending (start with 50/day)
- SPF/DKIM records configured
- Avoid spam trigger words
- Maintain <2% complaint rate
- Reduce batch size to 25
- Add more sleep() calls
- Use time-based triggers
- Split into multiple functions
- Gmail: Max 500/day
- Use multiple accounts
- Implement queuing system
- Consider email service
- Focus on quality content
- Build to 1,000 subscribers
- Establish voice/brand
- First sponsored slot
- Job board listings
- Affiliate links
- 3 sponsors/week @ $200
- Premium tier launch
- Token sale announcement
- 10,000 subscribers
- Multiple revenue streams
- Full automation
- Team of writers
- Review weekend metrics
- Write Mempool Monday
- Update contributor stats
- Send by 10 AM
- Technical analysis topic
- Update project news
- Feature developer
- Send by 10 AM
- Calculate weekly fees
- Find horror stories
- Investor update?
- Send by 10 AM
- Plan next week
- Review week's metrics
- Plan next week's content
- Update templates
- Engage with community
- Week 1: 100 subscribers
- Week 2: 250 subscribers
- Week 4: 500 subscribers
- Month 2: 2,000 subscribers
- Month 3: 5,000 subscribers
- Open rate: >40%
- Click rate: >15%
- Unsubscribe: <2%
- Forward rate: >5%
Remember: Every email should make someone laugh AND take action!