open source · self-hosted · any domain

See your tech ecosystem move.

A living technology radar: trending GitHub repos, clustered by what they do and ranked by momentum — re-scanned continuously and plotted on a live scope. Ships pointed at AI dev tools; switch to Rust, DevOps, or any GitHub topics you define, and the clusters re-emerge for that domain.

$ docker compose up --build → that's the whole install

Not another awesome-list.

Every signal on the radar is computed live from real repository data — nothing is hand-curated, and every number explains itself in the UI.

semantic clustering

Territories emerge from the data

Tools are embedded by what they say they do, then grouped with HDBSCAN and labelled by c-TF-IDF. New categories appear on their own.

adoption rings

Adopt · Trial · Assess · Hold

Each tool gets a live ring from maturity × momentum — with the exact reason shown on hover, Thoughtworks-style.

live momentum

A radar, not a report

A rotating sweep, a 13-week timeline scrubber, zoom & pan, and SSE updates the moment a scan lands.

configurable

Fork it for any domain

Swap the tracked area from the UI — AI, Rust, DevOps, or add your own GitHub topics. The radar re-ingests and swaps cleanly.

The scope.

Tools plotted by momentum (range) and semantic category (bearing). Hot contacts glow; the top mover gets the reticle.

AI Radar's live scope view: dozens of glowing tool contacts arranged by category bearing and momentum range, with a rotating sweep

the live radar — 171 tools, 14 emergent clusters, one sweep

The Overview dashboard: a Trend Quadrant with adoption-ring zones, KPI tiles and insight panels

the overview — trend quadrant with real adoption-ring zones, drill-down KPIs, insight panels

How the map is drawn.

The whole pipeline is transparent — and explained inside the app, with the live parameters it actually ran with.

Ingesttrending repos + curated seed, every 30 min
Embedbge-small vectors of each tool's self-description
ReduceUMAP down to a density-friendly space
ClusterHDBSCAN — no fixed number of categories
Labelc-TF-IDF names each territory
Rankmomentum × maturity → adoption ring

Run it in 2 minutes.

Postgres, API, worker and web UI all come up from one compose file. A GitHub token is optional — it just makes discovery faster.

# clone
git clone https://github.com/pascal-giessler/ai-tech-radar.git
cd ai-tech-radar

# optional: GITHUB_TOKEN raises the scan rate limit 60 → 5000 req/h
cp .env.example .env

# the whole stack
docker compose up --build

# → open http://localhost:3000 and watch the first sweep land