30+ collectors, pluggable, per product.
A per-product catalog of every source activated across the three modules. Inspect, collect now, pre-filter on demand, edit config, and discover new sources via URL paste or built-in search helpers.
One screen for every collector you've activated.
Sources is the cross-module view of every activated source for the current product. Each row shows the source type, the module(s) it feeds, the last run timestamp, item count, and the pre-filter prompt. A drawer exposes sample items, full config, and per-source actions.
Activate, collect, pre-filter, inspect.
Sources are activated either by smart-configure (agent proposes, you approve) or manually through discovery helpers. Each activated source is an instance with its own config.
Activate
POST /products/{id}/sourcesCollect now
POST /sources/{sid}/collectPre-filter
POST /sources/{sid}/pre-filterInspect
drawer · sample items- Collect now — fresh pull, ignores schedule
- Pre-filter — re-label existing items
- Edit config — inline config form, takes effect next run
- Delete — deactivates the instance (items remain)
- Sample — inspect the last N items the source produced
Four ways to find new sources.
| Target | How | Endpoint |
|---|---|---|
| GitHub | Search by org / repo / topic. Adds repo PRs, issues, discussions, or releases as sources. | /api/github/search |
| Search subreddits by keyword. Activate one — or a whole batch — with query terms and min score. | /api/reddit/search | |
| YouTube | Channel search. Once activated, uses the channel's RSS feed for uploads. | /api/youtube/search |
| Company / person search for activity tracking. | /api/linkedin/search | |
| Any URL | Paste a URL — the app detects if it's a blog (RSS), a GitHub repo, a YouTube channel, etc. | /api/url/check |
The full collector catalog.
| Group | Collectors |
|---|---|
| Research & Community | Hacker News · Reddit · Hugging Face · arXiv · Product Hunt · LMSYS Arena · LiveBench · There's An AI For That · Exploding Topics |
| Industry | Anthropic Blog · OpenAI Blog · DeepMind · Artificial Analysis · Generic RSS / Atom |
| GitHub | GitHub Trending · per-repo PRs / Issues / Discussions / Releases |
| Social & Reviews | YouTube · Twitter / X · LinkedIn · App Store · Play Store |
| Trends & Search | Google Trends · PyPI Trends · Web Search (MCP-backed) · Website Deep Scrape |
Three traits that make it pluggable.
One module contract
Every collector subclasses a single base class and registers itself. Adding a new source is one Python file.
Pre-filter per source
The tagging prompt is editable per source. Noisy feeds get stricter rules without touching the others.
Availability checks
Before a run, each source reports whether it's usable right now (credentials, rate limits).
See PMOS end-to-end.
A 20-minute demo walks through Discover → Aggregate → PRD → GitHub issue, scoped to your product.
