YAB -- You Ain't Better. A rival analysis tool for GitHub developers. Compare your stats against competitors and prove who codes harder.
Disclaimer: This is a fun side project. GitHub stats don't define a developer. Contributions, open-source work, and commit counts say nothing about skill, impact, or value. Built this purely because it was fun to make.
- Bento Grid Dashboard -- stat cards displaying commits, PRs, issues, repositories, stars, and followers (past year)
- Latest Activity -- each card shows your most recent action with links to commits, PRs, and issues
- Comparison Charts -- bar charts comparing contributions (commits, PRs, issues) and reach (stars, followers, repos) against enabled rivals
- Event Timeline -- chronological feed of your rivals' recent GitHub activity
- Event Types -- PushEvent, PullRequestEvent, IssuesEvent, IssueCommentEvent, CreateEvent, ForkEvent, WatchEvent, DeleteEvent, PullRequestReviewEvent
- Rich Details -- commit messages, branch names, PR/issue titles, and timestamps
- Sortable Table -- rank all developers by any metric (click column headers)
- Diff Badges -- see exactly how you lead (+) or trail (-) each rival
- Metric Highlights -- highest values per metric are bolded
- Leaderboard Rankings -- score = commits + PRs (past year)
- Current Target -- identify the immediate rival to overtake
- Gap Tracking -- see how many commits/PRs needed to climb the ranks
- Victory Display -- trophy banner when you're on top of all rivals
- 1v1 Showdowns -- go head-to-head against your toughest rivals in a dramatic matchup
- Visual Domination -- see precisely where you outrank your opponent and where you fall short
- Network Visualization -- force-directed graph of follower/following relationships
- Connection Mapping -- see shared connections between you and your rivals
- Demo Mode -- try the app without signing up by entering any GitHub username
- Smart Caching -- 3-tier cache (in-memory, session, Supabase) with configurable TTLs
- Auto-Rescan -- optional background refresh at configurable intervals
- Rival Management -- add, remove, and toggle rivals from the collapsible right panel
- Responsive Design -- mobile-first layout with bottom nav and slide-over panels
- Privacy -- PATs are AES-256-GCM encrypted server-side before storage
You'll need a read-only GitHub PAT. See the PAT Setup Guide for detailed instructions on creating one (fine-grained or classic).
npm install
npm run devOpen http://localhost:3000.
On first visit, the setup modal will ask for:
- GitHub Username -- your GitHub handle (e.g.
torvalds) - Personal Access Token -- the token you just created
Your PAT is encrypted server-side (AES-256-GCM) before being stored. The encryption key never reaches the browser.
After setup, add rival usernames from the right panel to start comparing.
- Uses the GitHub GraphQL API for user stats and the REST API for events
- With a fine-grained PAT you get up to 5,000 requests/hour
- Default 10-minute rescan interval with ~6 rivals uses ~36 stats queries + ~36 event queries per hour (well within limits)
- The auto-rescan toggle in the left sidebar enables automatic background refreshes
- Next.js 16
- React 19
- Radix UI Themes for components
- Zustand for state management
- Recharts for charts
- Framer Motion for animations
- Lenis for smooth scrolling
- Clerk for authentication
- Supabase for data persistence
- Lucide for icons
- Tailwind CSS v4
- TypeScript
npm run build
npm start

