Skip to content

Latest commit

 

History

History
275 lines (209 loc) · 6.47 KB

File metadata and controls

275 lines (209 loc) · 6.47 KB

Usage

Basic run

npm run mine

By default uses the first niche ("YouTube creators") and first 2 queries from config.

CLI options

Select niche (single)

npm run mine -- --niche="YouTube creators"
npm run mine -- --niche="Excel/Google Sheets power users"
npm run mine -- --niche="Developers and programmers"

Select multiple niches

Use --niches with semicolon-separated values:

npm run mine -- --niches="YouTube creators;Developers and programmers"
npm run mine -- --niches="YouTube creators;Instagram Reels editors;TikTok content creators"

Available niches:

  • YouTube creators
  • Instagram Reels editors
  • TikTok content creators
  • Excel/Google Sheets power users
  • Copywriters and content marketers
  • Small e-commerce owners
  • Developers and programmers
  • Students and researchers

Specific search query

npm run mine -- --query="AI writing assistant"
npm run mine -- --query="YouTube thumbnail generator"

Filter by minimum score

Only include ideas with finalScore above threshold:

npm run mine -- --min-score=7
npm run mine -- --min-score=6.5

Default is 5.0.

Google Trends / SEO analysis

Enable search demand analysis (enabled by default in real mode):

npm run mine -- --enable-trends

Skip trends analysis (useful for faster runs):

npm run mine -- --skip-trends

Filter by minimum search demand (requires trends enabled):

npm run mine -- --enable-trends --min-search-demand=6

Combine options

npm run mine -- --niches="YouTube creators;Developers" --query="video editing" --min-score=6

Debug mode

Show browser window

HEADLESS=false npm run mine

Verbose logs

LOG_LEVEL=debug npm run mine

Combined

HEADLESS=false LOG_LEVEL=debug npm run mine -- --niche="YouTube creators"

Results

All results are saved to the out/ directory:

out/
├── mining-youtube-creators-2025-12-10-18-54-47.json  # Detailed per-query result
├── ideas-summary-2025-12-10-18-55-06.json            # Aggregated ideas (JSON)
├── ideas-summary-2025-12-10-18-55-06.md              # Human-readable summary
└── opportunities-2025-12-10-18-55-06.md              # Clustered opportunities report

The opportunities-*.md file groups similar ideas together and shows evidence strength (how many sources support each idea).

ideas-summary-*.md format

# Idea Miner Summary — 2025-12-10

**Products analyzed:** 10
**Ideas generated:** 16
**Ideas above threshold (5+):** 12

---

## 1. ClipNotes (Score: 8.5)

**Pitch:** One-click export of YouTube video summaries directly to Notion/Obsidian

**One function:** Export video summary to your note-taking app with one click

**Input → Output:** User clicks button on YouTube → summary appears in Notion

**Existing demand:** 500k+ Vidnoz users, top review complaint is 'no export to Notion'

**Differs from source:** Does ONE thing: export. No summarization UI, just send to PKM app

**Who pays:** Students and researchers who use Notion/Obsidian ($5/mo)

**Effort:** ~1 week (1 weeks)

**Scores:**
| Metric | Score |
|--------|-------|
| Existing Demand | 9/10 |
| Time Saving | 9/10 |
| Monetization | 7/10 |
| Competition (−) | 5/10 |
| Simplicity | 8/10 |
| Personal Fit | 10/10 |
| Platform Risk (−) | 2/10 |
| Search Demand | 7/10 |
| **Final** | **8.5** |

**Source:** [Vidnoz AI Video Summarizer](https://...) (YouTube creators)

opportunities-*.md format (recommended for review)

# Idea Miner Opportunities — 2025-12-10

**Products analyzed:** 10
**Ideas generated:** 16
**Ideas after filtering (score≥5, risk<7):** 12
**Unique opportunities (clustered):** 4

---

## 1. ClipNotes [3 sources] (Score: 8.5)

**Pitch:** One-click export of YouTube video summaries directly to Notion/Obsidian

...

**Based on analysis of:**
- [Vidnoz AI](https://...) (500k users)
- [Another Summarizer](https://...) (100k users)
- [Third Product](https://...) (50k users)

mining-*.json format (detailed analysis)

{
  "timestamp": "2025-12-10T18:54:47.134Z",
  "niche": "YouTube creators",
  "source": "Chrome Web Store",
  "query": "YouTube summary",
  "analyses": [
    {
      "source": "chrome_web_store",
      "sourceProductName": "Vidnoz AI Video Summarizer",
      "sourceUrl": "https://...",
      "category": "Productivity",
      "approxUsers": "500k+",
      "userCount": 500000,
      "priceModel": "freemium",
      "mainValueProp": "Summarizes long YouTube videos...",
      "targetUser": "Students, researchers...",
      "mainPainPoints": ["..."],
      "painsFromReviews": ["No Notion export", "Too expensive", "..."],
      "weaknesses": ["Feature bloat", "..."],
      "missingSimpleUseCases": ["One-click export", "..."],
      "features": ["..."],
      "derivedIdeas": [
        {
          "ideaName": "ClipNotes",
          "oneSentencePitch": "One-click export...",
          "oneFunction": "Export video summary...",
          "inputOutputExample": "User clicks → summary in Notion",
          "whyExistingDemand": "500k+ users, top complaint...",
          "howItDiffersFromSource": "Single function, no bloat",
          "whoWillPay": "Students ($5/mo)",
          "estimatedEffortWeeks": 1,
          "scores": {
            "existingDemand": 9,
            "timeSavingPotential": 9,
            "monetizationPotential": 7,
            "competitionSaturation": 5,
            "simplicityOfMVP": 8,
            "personalFit": 10,
            "platformRisk": 2,
            "searchDemand": 7,
            "finalScore": 8.5
          }
        }
      ]
    }
  ]
}

Automation

Cron (weekly)

# crontab -e
0 3 * * 1 cd /path/to/idea-ai && npm run mine >> /var/log/idea-miner.log 2>&1

GitHub Actions

# .github/workflows/mine.yml
name: Mine Ideas
on:
  schedule:
    - cron: '0 3 * * 1'  # Every Monday at 3:00 AM
  workflow_dispatch:      # Manual trigger

jobs:
  mine:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm install
      - run: npm run mine
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          STAGEHAND_ENV: BROWSERBASE
          BROWSERBASE_API_KEY: ${{ secrets.BROWSERBASE_API_KEY }}
          BROWSERBASE_PROJECT_ID: ${{ secrets.BROWSERBASE_PROJECT_ID }}
      - uses: actions/upload-artifact@v4
        with:
          name: ideas
          path: out/