{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/logo.png\" alt=\"Signal Hunter\" width=\"600\" />\n</p>\n\n<p align=\"center\">\n  <strong>AI-powered daily trend hunter</strong><br>\n  Aggregates 20+ sources, scores cross-source signals, generates Obsidian notes with business ideas.\n</p>\n\n---\n\n## What it does\n\nEvery day, it collects from:\n\n| Source | Method | What you get |\n|--------|--------|-------------|\n| Hacker News | WebFetch | Top stories with points and comments |\n| Product Hunt | WebFetch | Top products with taglines and upvotes |\n| GitHub Trending | WebFetch | Trending repos with stars and descriptions |\n| HuggingFace | WebFetch | Trending papers with likes |\n| smol.ai | WebFetch | AI news summaries |\n| Superhuman AI | WebFetch | Curated AI newsletter content |\n| Ben's Bites | WebFetch | AI startup and product coverage |\n| TechCrunch AI | WebFetch | Enterprise AI news and funding |\n| Futurepedia Innovations | WebFetch | Top 100 tech company AI developments |\n| Reddit | Python API | Top 10 posts/day per subreddit (incl. LocalLLaMA) |\n| YouTube | RSS + transcripts | New videos with summarized transcripts |\n| X/Twitter | X API v2 | Latest tweets from accounts you follow |\n| Gmail | Gmail MCP | Auto-discovered newsletter content |\n| Futurepedia Tools | API Endpoint | New AI tool launches (structured JSON) |\n| App stores | Playwright | Trending apps from AppMagic, AppRaven |\n\nThen it:\n1. **Scores** every item (0-100 normalized across sources)\n2. **Detects cross-source signals** with 1.5x multiplier for topics in 2+ sources\n3. **Tracks newsletter mentions** with +15 bonus (human-curated = strong signal)\n4. **Tracks velocity** across 7 days (accelerating, new, fading, steady)\n5. **Detects app store gaps** for trending topics with no existing apps\n6. **Summarizes YouTube transcripts** into 5 bullet points + key quote\n7. **Generates up to 3 business ideas** per day (app, SaaS, BaaS, gaming, dev-tools)\n8. **Writes markdown notes** to any folder (works great with Obsidian, but not required)\n9. **Sends email digests** via Gmail SMTP to you or a Google Group\n10. **Caches everything** with historical data preserved per day\n\n## Install\n\n```bash\npython3 -m venv .venv\n.venv/bin/pip install -r requirements.txt\n.venv/bin/playwright install chromium\n\ncp config.yaml.example config.yaml\n# edit config.yaml with your sources and output path\n\n# optional: X/Twitter API and Gmail SMTP\necho \"X_BEARER_TOKEN=your_token\" > .env\necho \"GMAIL_ADDRESS=you@gmail.com\" >> .env\necho \"GMAIL_APP_PASSWORD=xxxx xxxx xxxx xxxx\" >> .env\n```\n\nOr run `/setup` in Claude Code — it also offers to install `/digest` as a global plugin so you can run it from the Claude desktop app or any directory.\n\n## Usage\n\n### As a Claude Code plugin\n\n```\n/digest              # run the full daily pipeline\n/weekly              # generate weekly trend report\n/add-source <url>    # add a new source (auto-categorized)\n/test-source reddit  # test a category\n/list-sources        # show all configured sources\n```\n\n### As a script\n\n```bash\n.venv/bin/python -m src.collector              # run all scrapers\n.venv/bin/python -m src.scoring                # velocity + scores\n.venv/bin/python -m src.scoring --weekly       # weekly aggregate\n.venv/bin/python -m src.collector --test reddit # test one category\n.venv/bin/python -m src.collector --force       # ignore daily cache\n```\n\n## Configuration\n\nCopy `config.yaml.example` to `config.yaml` and customize:\n\n```yaml\nsources:\n  reddit:\n    - subreddit: singularity\n    - subreddit: AINewsMinute\n\n  youtube:\n    - channel: \"@AIDailyBrief\"\n      channel_id: UCKelCK4ZaO6HeEI1KQjqzWA\n\n  twitter:\n    - handle: nlw\n    - handle: edsim\n\nscoring:\n  weights:\n    hackernews: { divisor: 10 }\n    reddit: { divisor: 5 }\n    gmail: { default: 70 }\n  cross_source_multiplier: 1.5\n  newsletter_mention_bonus: 15\n\nemail:\n  enabled: true\n  recipients:\n    - your-group@googlegroups.com\n\n# Output directory — any folder works, Obsidian is optional\nobsidian:\n  vault_path: ~/Documents/signal-hunter-output\n  daily_folder: Daily\n  ideas_folder: Ideas\n  weekly_folder: Weekly\n```\n\n### X/Twitter API (optional)\n\n1. Go to [developer.x.com](https://developer.x.com)\n2. Create a project, generate a Bearer Token\n3. Add to `.env`: `X_BEARER_TOKEN=your_token`\n\n### Gmail SMTP (optional)\n\n1. Enable 2FA on your Google account\n2. Generate an app password at [myaccount.google.com/apppasswords](https://myaccount.google.com/apppasswords)\n3. Add to `.env`: `GMAIL_ADDRESS` and `GMAIL_APP_PASSWORD`\n\n### Gmail MCP (optional)\n\nFor newsletter auto-discovery, enable the Claude Gmail plugin in Claude Code settings.\n\n## Output\n\nMarkdown files written to your configured `vault_path` (any folder — Obsidian is optional):\n\n```\noutput/\n  Daily/\n    2026-03-25.md                          # daily digest with scored trends\n  Ideas/\n    idea-2026-03-25-ai-security.md         # up to 3 ideas per day\n    idea-2026-03-25-agent-monitoring.md\n    idea-2026-03-25-task-manager.md\n  Weekly/\n    2026-W13.md                            # weekly rollup\n```\n\nEmail digests are also sent to configured recipients with the same content.\n\n## How trend detection works\n\nThe system catches emerging signals early by combining multiple detection methods:\n\n1. **Score normalization** (0-100) across all source types\n2. **Tiered cross-source multiplier** (1.3x for 2 sources, 1.5x for 3+) to reward true convergence\n3. **Newsletter mention bonus** (+15) because human-curated newsletters are strong signal amplifiers\n4. **Velocity tracking** against 7 days of cached data\n5. **Cross-day deduplication** — each topic is marked `fresh`, `deepened` (new angle/sources), or `repeat` (same story, skipped). Only genuinely new or evolved stories surface in the digest.\n6. **App store gap detection** to find market opportunities\n7. **Weekly rollups** categorizing persistent trends, flash signals, and rising topics\n\n## License\n\nMIT\n",
  "bytes": 5892,
  "sha": "5d7aea6faf9cb8ee2286e082e3cc49aa74dcef6312703b8e47562c6a20a01ec9",
  "repo_slug": "berkkorkmaz/signal-hunter",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_berkkorkmaz_signal_hunter_signal_hunter_2814a4d9/readme"
}