Skip to content

dot-RealityTest/undrdr-vis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

133 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UND-RDR

UND-RDR is a curated discovery index for underrated GitHub repositories before they become famous.

Live site: https://undrdr.com

It tracks a protected dataset of 1,104 open source repositories, most discovered while they were under 1,000 stars. The site turns that dataset into a fast, curated browsing system for finding fresh, rising, almost-famous, and graduated projects.

What It Does

  • Browse underrated GitHub projects without digging through a random list.
  • Search by repo, owner, description, language, topic, and status.
  • Filter by language, topic, and discovery status.
  • Sort by curated signal, stars, newest, rising, recently updated, and closest to 1K.
  • Browse Latest, Fresh, Rising, Hidden, Near 1K, and Graduated discovery states.
  • Filter by practical categories such as AI Agents, MCP, Memory / RAG, Local Models, macOS, Browser Automation, Dev Tools, Security, Data / Docs, and Voice / Media.
  • Use Discover, Profile, Submit, Data, and About as the primary public pages.
  • Use the private Curator route for owner batch intake.
  • Open repo cards directly on GitHub.
  • Use light or dark mode from the header. The site follows the system theme by default and remembers explicit user choice.
  • Browse on phones with a dedicated mobile repo list layout instead of the desktop Grid/List/Dense modes.
  • Sign in with GitHub to use a merged Profile workspace with a personal Watchlist and named Collections.
  • Inspect the Data page for animated metrics, validation status, source files, and the Graduated archive.
  • Submit new repos into a protected GitHub issue review queue.
  • Run daily GitHub checks that open review PRs instead of silently changing production data.
  • Audit stale or weak repos into a prune review queue without auto-deleting anything.

Discovery Statuses

Status Meaning
Underrated Still under 1,000 stars
Rising Growing quickly or showing strong momentum
Near 1K Close to crossing the 1,000-star threshold
Crossed 1K Graduated from underrated
Archived/Inactive Unavailable, archived, disabled, or stale

Data Protection

The core dataset lives at:

public/data/all_repos.json

The redesign protects this file as the source of truth:

  • raw repo data is not rewritten by the public UI,
  • submissions do not directly mutate the dataset,
  • accepted submissions go through a reviewer command,
  • daily GitHub refreshes open PRs for review,
  • validation checks repo count, required fields, and duplicate ids.

Current validation snapshot:

repos: 1104
under 1K: 1080
crossed 1K: 24
duplicate ids: 0

Accounts and Collections

UND-RDR has live GitHub sign-in through Supabase Auth. Signed-in users can save repos to a private Watchlist and create named Collections from the Profile workspace. The account tables use row-level security, so each user can only read and manage their own saved repos.

The public dataset is still static and protected. Account actions never mutate public/data/all_repos.json.

Implementation notes:

src/lib/accountStorage.ts
docs/supabase-auth-collections.md

Submission Workflow

Public submissions go through the live endpoint:

/api/submit-repo

The endpoint:

  • accepts full GitHub repo URLs,
  • blocks invalid URLs,
  • blocks repos already in the dataset,
  • blocks repos already waiting in an open review issue,
  • creates a GitHub issue labeled undrdr-submission and needs-review,
  • never changes the live dataset directly.

Public contact is submit@undrdr.com. DNS and mailbox readiness are tracked in:

docs/email-intake.md

Reviewer guide:

SUBMISSIONS.md

Preview an accepted issue:

npm run submissions:add -- --issue 12 --dry-run

Apply an accepted issue:

npm run submissions:add -- --issue 12

The script fetches GitHub metadata, refuses duplicates, writes a backup, appends one normalized repo record, validates data, comments on the issue, labels it accepted plus added-to-index, and closes the issue.

Mark a submission that needs more information:

npm run submissions:review -- --issue 12 --outcome needs-data --comment "Need more signal before accepting."

Close a duplicate or rejected submission:

npm run submissions:review -- --issue 12 --outcome duplicate --comment "Already tracked or already pending."
npm run submissions:review -- --issue 12 --outcome rejected --comment "Not a fit for UND-RDR right now."

Curator Candidate Workflow

For owner-curated additions, paste GitHub links into:

data/repo-candidates.txt

Preview candidates:

npm run candidates:check

Add valid new candidates:

npm run candidates:add

The candidate workflow fetches live GitHub metadata, skips duplicates, writes a backup, appends only new repos, and runs validation. Details are in:

docs/repo-candidates.md

Recent curated batches:

data/under-the-radar-github-repos-100-20260524.txt
data/next-100-ai-tooling-candidates-20260521.txt

The May 24 CSV batch was parsed from /Users/kika_hub/Downloads/under_the_radar_github_repos_100.csv. The importer checked 100 repos, added 91 new repos, skipped 9 already tracked repos, and moved the protected dataset from 1,013 to 1,104 repos.

The May 21 batch added 100 under-the-radar AI tooling repos, moving the protected dataset from 913 to 1,013 repos.

The private browser Curator page at /#/curator is protected by the production CURATOR_ACCESS_TOKEN environment variable. It is for owner batch intake only and still creates review issues instead of editing the live dataset directly.

Daily Automation

The GitHub Actions workflow at:

.github/workflows/github-repo-check.yml

runs daily and can also be triggered manually. It checks all repos, updates stars/status signals, validates the dataset, and opens an update PR from:

automation/github-repo-snapshot

It does not push dataset changes directly to main.

Each update PR includes a review summary with new 1K graduates, near-1K repos, fastest risers, and unavailable or failed GitHub checks. Pre-update backups are uploaded as short-lived workflow artifacts, while only the dataset and public report are committed.

Local Development

Install dependencies:

npm install

Run the app:

npm run dev

Build:

npm run build

Validate the dataset:

npm run validate:data

Run a sample GitHub metadata check:

npm run check:github:sample

Run the full GitHub metadata check locally as a dry run:

npm run check:github

Apply a full local GitHub metadata refresh:

npm run check:github:apply

Project Structure

Path Purpose
src/App.tsx Main discovery UI and client-side interactions
src/App.css Visual system, responsive layout, cards, mobile polish
src/lib/accountStorage.ts Optional Supabase-backed account storage with local fallback
api/submit-repo.ts Protected repo submission intake
public/data/all_repos.json Protected source dataset
public/data/update-report.json Latest GitHub check report
public/llms.txt AI-answer summary for GEO crawlers
public/ai-summary.json Machine-readable site and dataset summary
scripts/check-github-repos.mjs Daily metadata refresh logic
scripts/add-submission-to-dataset.mjs Accepted submission workflow
scripts/import-repo-candidates.mjs Private curator batch-add workflow
scripts/audit-prune-candidates.mjs Read-only prune review audit
scripts/validate-data.mjs Dataset validation
docs/data-schema.md Recommended data schema
docs/domain-readiness.md Domain migration notes
docs/launch-checklist.md Launch and move checklist
docs/seo-geo.md SEO/GEO metadata and AI crawler notes
docs/supabase-auth-collections.md Account, Watchlist, and Collections backend notes

Domain

UND-RDR is live at:

https://undrdr.com

The project previously lived under akaKika.com/undrdr. Keep legacy redirects alive while search, social previews, and external links settle.

SEO and GEO

UND-RDR exposes human and AI-readable discovery surfaces:

  • index.html includes canonical metadata, Open Graph/Twitter cards, WebSite/WebApplication/Dataset/FAQ JSON-LD, and links to AI summary files.
  • public/llms.txt gives answer engines a direct summary, dataset snapshot, categories, FAQ, and citation wording.
  • public/ai-summary.json provides a structured machine-readable summary of the entity, dataset, categories, features, and trust signals.
  • public/sitemap.xml points to the site, AI summary files, and public data endpoints.

Tech Stack

  • React
  • TypeScript
  • Vite
  • Pixi.js
  • Vercel
  • Supabase Auth and Postgres
  • GitHub Actions

Product Direction

UND-RDR should feel like a curated discovery system: clean, fast, editorial, data-first, and useful. It should help people move from one interesting GitHub project to the next without overwhelming them.