Recommendation signals
The signals that shape personalized discovery.
OpenStar recommendations should be based on candidate generation, scoring, and re-ranking.
Trending is not personalization
Trending can fill the market pulse, but For You and New to You should be shaped by Memory, evidence, freshness, and diversity.
Taste
GitHub history, Memory, explicit interests, and repo actions define the user's direction.
Freshness
Recent releases, commits, issue activity, and new stars help avoid stale recommendations.
Quality
License, maintenance, adoption, documentation, and risk evidence shape confidence.
Diversity
Reranking keeps the feed from collapsing into one topic, language, or ecosystem.
Pipeline
| Stage | Purpose | Main inputs |
|---|---|---|
| Candidate generation | Build a broad pool before ranking. | Trending, corpus, GitHub search, watched topics. |
| Scoring | Estimate fit and usefulness. | Memory, repo metadata, activity, license, topic match. |
| Reranking | Make the final list usable. | Diversity, novelty, negative signals, recency. |
| Explanation | Make the result understandable. | Top contributing signals and evidence snippets. |
Feed roles
Personalized recommendations from the candidate pool. The score should be explainable enough that a developer can tell why a repo appeared.
A source list and market pulse. It should be cached and refreshed on a predictable schedule, not recomputed on every page visit.
Repositories that match taste but are outside the user's known stars and repeated clusters.