Star Potential Radar — discover star-worthy developer project ideas before they explode.
Scan GitHub Trending + Hacker News + npm and rank opportunities with a transparent 14-factor StarPotential model. Local-first, no API key, runs in seconds.
npx dev-opportunity-hunter scan
# or offline deterministic demo:
npx dev-opportunity-hunter scan --mockdev-opportunity-hunter answers:
"If I build a new open-source project today, what has the best chance to be discovered, used, shared, and starred?"
It fuses 3 public trend sources and scores each opportunity across 14 factors (TrendStrength, Velocity, ProblemSeverity, AudienceSize, DeveloperDemand, Novelty, CompetitionGap, Utility, Demoability, Shareability, Buildability, OpenSourceFit, DistributionPotential, CommercialPotential) into a single StarPotential (0-10).
Not an AI wrapper. Not a generic idea list. A trend-backed, scored, actionable radar — with source links.
- Indie hackers hunting the next profitable wedge
- OSS maintainers looking for high-demand missing tooling
- Developer-tool founders validating before building
- Students wanting a star-worthy portfolio project
- Timing matters: same idea 3 months later = saturated. Radar catches rising, not yet saturated trends.
- 10 seconds to value: run one command, see ranked table.
- No API key, no cloud: 100% local scoring. Your ideas stay private.
- Shareable: table screenshot or
report.mdgoes straight to X / HN.
✦ Star Potential Radar — ranked opportunities
Sources: GitHub Trending (10) + Hacker News (8) + npm (6)
┌────┬──────────┬──────────────────┬──────────────────────────────────────────────────────┬──────────────────────────────────┐
│ # │ Score │ Category │ Opportunity │ Trend Signal │
├────┼──────────┼──────────────────┼──────────────────────────────────────────────────────┼──────────────────────────────────┤
│ 1 │ 9.1 │ Developer Tool │ Local Star Radar CLI for your stack │ Agent Skills + Local-First tr… │
│ 2 │ 8.7 │ DevOps │ Agent Cost Guardian — budget circuit breaker │ Reddit $0.02 coworker 402 upv… │
│ 3 │ 8.4 │ Developer Tool │ Agent Skill Linter + Token Budget Estimator │ 5/17 GH trending repos are sk… │
│ ...│ │ │ │ │
└────┴──────────┴──────────────────┴──────────────────────────────────────────────────────┴──────────────────────────────────┘
Top pick: Local Star Radar CLI for your stack — 9.1/10
npx dev-opportunity-hunter scan --report report.md # markdown report
npx dev-opportunity-hunter scan --scores # 14-factor breakdown
npx dev-opportunity-hunter list-trends --json # raw sources
- Multi-source scan: GitHub Trending (HTML parse, no API), HN Algolia, npm search — with mock fallback so it never fails
- 14-factor StarPotential: weighted, tunable, transparent (see
src/scorer/starPotential.js) - Two idea streams: 10 curated templates + dynamic ideas derived from live trends (gh repos & HN titles)
- 3 outputs: pretty table, JSON (
--json), Markdown report (--report) - Offline mock mode:
--mockfor deterministic CI / demo without network - Local-first: no LLM, no telemetry, no tracking
# 1) Try instantly (no install)
npx dev-opportunity-hunter scan --mock
# 2) Install locally
git clone https://github.com/trenysx/dev-opportunity-hunter.git
cd dev-opportunity-hunter
npm install
node src/cli.js scan --report report.md
cat report.mdOne-liner (npx):
npx dev-opportunity-hunter scanGlobal:
npm install -g dev-opportunity-hunter
opp-hunter scanFrom source:
git clone https://github.com/trenysx/dev-opportunity-hunter
cd dev-opportunity-hunter
npm install
npm testRequires Node >=18 (native fetch).
# Ranked radar (live)
dev-opportunity-hunter scan
dev-opportunity-hunter scan --scores # show 14-factor bars
dev-opportunity-hunter scan --limit 5 # top 5 only
dev-opportunity-hunter scan --no-dynamic # curated templates only
# Offline demo
dev-opportunity-hunter scan --mock
dev-opportunity-hunter scan --mock --json > ideas.json
dev-opportunity-hunter scan --mock --report report.md
# Raw trends
dev-opportunity-hunter list-trends
dev-opportunity-hunter list-trends --json
dev-opportunity-hunter list-trends --mock --json
# Deep dive
dev-opportunity-hunter explain 1 --mock
dev-opportunity-hunter explain 2 --mock
# Help
dev-opportunity-hunter --helpimport { scanGitHubTrending } from "./src/scanner/github.js";
import { generateOpportunities, generateIdeasFromOpportunities } from "./src/generator/opportunityGenerator.js";
const github = await scanGitHubTrending({ mock: true });
const hn = await scanHackerNews({ mock: true });
const npm = await scanNpm({ mock: true });
const opps = generateOpportunities({ github, hackernews: hn, npm });
const ideas = generateIdeasFromOpportunities(opps, 10);
console.log(ideas[0]); // { rank:1, starPotential:9.1, title, scores: { TrendStrength:9.3, ... }}See examples/:
examples/report-mock.md— sample markdown report (generated with--mock)examples/ideas-mock.json— sample JSON output
dev-opportunity-hunter/
├── src/
│ ├── cli.js # commander entry, scan / list-trends / explain
│ ├── scanner/
│ │ ├── github.js # GH Trending HTML → parsed repos
│ │ ├── hackernews.js # HN Algolia → stories
│ │ └── npm.js # npm search → packages
│ ├── scorer/
│ │ └── starPotential.js # 14-factor weighted model
│ ├── generator/
│ │ └── opportunityGenerator.js # templates + dynamic + scoring + rank
│ ├── reporter.js # table + JSON + markdown
│ └── utils/fetch.js # timeout fetch helper
├── test/
│ ├── scan.test.js
│ └── scorer.test.js
├── examples/
└── factory/ # StarMax factory history (not part of npm)
No build step — pure ESM, node src/cli.js.
| Edition | License | What's inside |
|---|---|---|
| Community (this repo) | Apache-2.0 | CLI scan, 3 scanners, 14-factor scorer, table/JSON/markdown, mock mode |
| Commercial (future, private) | Private | Hosted team dashboard, Slack/Discord alerts, trend history, API, SSO |
The CLI is never paywalled. Commercial adds team + hosted convenience. See OPEN_CORE_BOUNDARY.md.
-
src/scanner/pypi.js+src/scanner/producthunt.js - Velocity sparkline (compare today's stars vs 7-day avg)
-
dev-opportunity-hunter init— scaffold a new repo from top pick - Hosted dashboard (commercial) — email alerts
Contributions welcome! See CONTRIBUTING.md.
Is this another AI wrapper? No LLM in core. Scoring is local heuristics + weights. AI expansion is optional future commercial.
Does it need an API key? No. All sources are public. Falls back to mock if offline.
How is StarPotential tuned? Weights in src/scorer/starPotential.js (WEIGHTS). Factory updates them via factory/metrics.json learning after each publish.
Can I fork for my stack? Yes — Apache-2.0. Replace scanners (e.g., crates.io for Rust) and retune templates.
Apache-2.0 — see LICENSE. Third-party notices in THIRD_PARTY.md.
Trend sources: GitHub Trending, HN Algolia, npm. Inspired by the StarMax Factory pipeline: Trend → Opportunity → StarPotential → Build → Measure → Learn.
Star if this helped you find your next project — and tell us what you ship! ✦