Skip to content

Repository files navigation

dev-opportunity-hunter

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.

License Apache-2.0 Node >=18 Local-first

npx dev-opportunity-hunter scan
# or offline deterministic demo:
npx dev-opportunity-hunter scan --mock

What is it?

dev-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.

Who is it for?

  • 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

Why should I care?

  • 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.md goes straight to X / HN.

Demo

✦ 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

Features

  • 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: --mock for deterministic CI / demo without network
  • Local-first: no LLM, no telemetry, no tracking

Quick Start

# 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.md

Installation

One-liner (npx):

npx dev-opportunity-hunter scan

Global:

npm install -g dev-opportunity-hunter
opp-hunter scan

From source:

git clone https://github.com/trenysx/dev-opportunity-hunter
cd dev-opportunity-hunter
npm install
npm test

Requires Node >=18 (native fetch).

Usage

# 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 --help

Programmatic

import { 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, ... }}

Examples

See examples/:

  • examples/report-mock.md — sample markdown report (generated with --mock)
  • examples/ideas-mock.json — sample JSON output

Architecture

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.

Community vs Commercial

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.

Roadmap

  • 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.

FAQ

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.

License

Apache-2.0 — see LICENSE. Third-party notices in THIRD_PARTY.md.

Acknowledgements

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!

About

Star Potential Radar — scan GitHub Trending, Hacker News & npm to discover and score star-worthy developer project ideas. Local-first, no API key.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages