TrendForge AI v1.0 Blueprint

Goal: Build and monetise a self‑hosted n8n + OpenAI micro‑SaaS that automatically discovers trending topics, generates YouTube Shorts & matching blog posts, publishes them and sends performance digests — all running on a single DigitalOcean droplet.

0 | Quick Project Recap

1 | Infrastructure & Accounts

Core Stack
ComponentDetails / Rationale
DigitalOcean DropletUbuntu 22.04, 2 vCPU, 4 GB RAM (≈ $18/mo).
Docker + docker‑composeSingle‑file deployment of n8n, Caddy & Postgres.
Domain e.g. trendforge.aiPoints to droplet; Caddy auto‑issues Let’s Encrypt cert.
n8n (latest)Automation engine, password‑protected.
PostgreSQL 15Stores workflow + analytics data.
OpenAI API KeyGPT‑4o for text, DALL·E 3 for thumbnails.
Google Cloud projectEnable YouTube Data API v3 for uploads.
SerpApi (or pytrends)Google Trends scraping without TOS headache.
WordPress blogAuthor account + Application Password for REST calls.
Pictory / Runway APITurns script → auto‑edited Short video.
Twilio WhatsAppDaily performance digest.
StripeRecurring billing (Starter, Pro, Agency tiers).

2 | docker‑compose.yml (core services)

# ./docker-compose.yml
version: "3.8"
services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=${N8N_USER}
      - N8N_BASIC_AUTH_PASSWORD=${N8N_PASS}
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=${PG_PASS}
      - N8N_ENCRYPTION_KEY=${N8N_KEY}
      - WEBHOOK_URL=https://trendforge.ai/
    depends_on:
      - postgres
    volumes:
      - n8n_data:/home/node/.n8n
  postgres:
    image: postgres:15
    restart: always
    environment:
      - POSTGRES_PASSWORD=${PG_PASS}
    volumes:
      - pg_data:/var/lib/postgresql/data
  caddy:
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - caddy_data:/data
      - ./Caddyfile:/etc/caddy/Caddyfile
    depends_on:
      - n8n
volumes: { n8n_data: {}, pg_data: {}, caddy_data: {} }

3 | n8n Workflow — Node Map

3.1 Trigger Lane

  • Cron — every 60 min.
  • Set — inject Flow‑ID & timestamp.

3.2 Discover Lane

  • HTTP (SerpApi) — Google Trends: geo=PAK&date=today 1-d.
  • HTML Extract — pull rising topics.
  • IF — keep if matches niche keywords Sheet.
  • YouTube Search — resultCount for competition.
  • Set — compute score = trending_score / resultCount.

3.3 Content Generation Lane

  • OpenAI (“Blog Post”) — 300‑400 words, 3 emoji title.
  • OpenAI (“Short Script”) — 60‑sec storyboard.
  • OpenAI (“Thumbnail Prompt”) — minimalist style prompt.

3.4 Video + Thumbnail Lane

  • Pictory APIPOST /render with script.
  • DALL·E 3 — 512×512 thumbnail.
  • Download — save to /tmp.

3.5 Publishing Lane

  • YouTube Upload — resumable upload + custom thumbnail.
  • WordPress REST — create & publish post.
  • Twitter/X — tweet video link + hashtags.

3.6 Analytics Lane

  • Cron 12 h — pull stats.
  • YouTube videos.list — views/likes.
  • Google Sheets — append row.
  • Twilio WhatsApp — send digest.

Important: For manual tests, pair Webhook (Respond → “Using Respond to Webhook node”) with a downstream Respond to Webhook node to avoid configuration errors.

4 | Testing Checklist

5 | Packaging & Distribution

  1. Export workflow → trendforge.json.
  2. Create README.md (env vars, docker‑compose, 1‑click import).
  3. Zip & upload to Gumroad.
  4. Record 5‑min Loom onboarding video.
  5. Stripe pricing page: Starter $29 → Pro $49 → Agency $99.
  6. Licence webhook: n8n pings your licence API before each run.

6 | Go‑to‑Market Timeline (Day 0 → Day 30)

DayAction
0 – 3Finish MVP (script → draft blog).
4 – 6Add Pictory render & YouTube upload.
7WhatsApp digest + error handling polish.
8Deploy docs + landing page (Framer).
9Release free community edition in n8n forum.
10 – 14Onboard 3 beta YouTubers via Discord.
15Publish case study blog.
16Launch on Product Hunt + X thread.
20TikTok ads: $10/day → “beginner youtuber”.
25Hit 20 paid seats → ~$580 MRR.
30User survey → plan A/B title test (v1.1).

7 | Revenue Model & Maths

MetricStarter Tier
Price$29 / month
Hosting cost (self‑host)$0
Your support time≈ 1 h onboarding
Gross margin≈ 100 %
Break‑even34 seats → $1 000 MRR
(covers your own infra & API bills)

8 | Legal & Compliance Snapshot

9 | Maintenance & Scaling

10 | Résumé Snippet

Copy–paste after launch:

Founder & Engineer — TrendForge AI (05/2025 – Present)
• Designed and commercialised a self‑hosted n8n + OpenAI automation that scrapes live trends, auto‑generates Shorts, blog posts and social teasers, boosting content output 4× for >40 micro‑creators.
• Implemented quota‑aware YouTube upload pipeline and WhatsApp analytics bot; achieved $X 000 MRR within 2 months.