A modern GitHub analytics platform that provides deep insights into GitHub profiles and repositories with beautiful, interactive visualizations.
RepoRadar analyzes GitHub profiles and repositories, providing detailed metrics, trends, and quality indicators. It helps developers understand coding patterns, repository health, and contribution trends through interactive charts and visualizations.
- User Profile Analysis - Comprehensive GitHub user insights with contribution trends
- Repository Analysis - Detailed metrics for any public repository
- Language Statistics - Visual breakdown of programming languages used
- Repository Health Scoring - Quality indicators based on activity, documentation, and maintenance
- Contribution Heatmaps - 90-day activity calendar visualization
- Commit Analytics - Code frequency and commit activity charts
- Search History - Persistent local storage for recent searches
| Category | Technologies |
|---|---|
| Framework | Next.js 15 (App Router), React 19, TypeScript 5 |
| Styling | Tailwind CSS 4, shadcn/ui, Radix UI |
| State Management | TanStack React Query 5 |
| Charts | Recharts |
| Validation | Zod, React Hook Form |
| Code Quality | Biome (linting & formatting) |
src/
├── app/ # Next.js App Router
│ ├── page.tsx # Main dashboard
│ ├── layout.tsx # Root layout with providers
│ └── globals.css # Global styles
│
├── components/
│ ├── github/ # User analysis components
│ │ ├── user-profile.tsx
│ │ ├── activity-heatmap.tsx
│ │ ├── contribution-chart.tsx
│ │ ├── language-chart.tsx
│ │ ├── repo-health.tsx
│ │ └── ...
│ │
│ ├── repo/ # Repository analysis components
│ │ ├── repo-overview.tsx
│ │ ├── commit-activity.tsx
│ │ ├── contributors.tsx
│ │ └── ...
│ │
│ └── ui/ # shadcn/ui components
│
├── hooks/
│ ├── use-github-insights.ts # User data fetching
│ ├── use-repo-insights.ts # Repository data fetching
│ └── use-search-history.ts # LocalStorage persistence
│
├── lib/
│ └── github/
│ ├── api.ts # GitHub API wrapper & analysis
│ └── types.ts # TypeScript interfaces
│
└── providers/
└── query-provider.tsx # TanStack Query setup
- Node.js 18+
- npm, yarn, or pnpm
# Clone the repository
git clone https://github.com/yourusername/repo-radar.git
cd repo-radar
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 in your browser.
| Command | Description |
|---|---|
npm run dev |
Start development server with Turbopack |
npm run build |
Create production build |
npm run start |
Start production server |
npm run lint |
Run Biome linter |
npm run format |
Format code with Biome |
User Input (Search Form)
↓
Auto-detect mode (User/Repository)
↓
TanStack Query hooks (caching & state)
↓
GitHub API calls (parallel requests)
↓
Data analysis & processing
↓
Interactive visualizations
- TanStack Query for server state management with 5-minute stale time caching
- Component composition with small, focused components
- Custom hooks encapsulating complex data fetching logic
- TypeScript throughout for type safety
- Parallel API requests for faster data loading
The app uses the public GitHub API which has the following limits:
- Unauthenticated: 60 requests/hour
- Built-in caching (5-min stale time) minimizes API calls
| Component | Description |
|---|---|
| UserProfile | Avatar, bio, stats, social links |
| StatsOverview | Repos, followers, contributions summary |
| ActivityHeatmap | 90-day contribution calendar |
| LanguageChart | Pie chart of languages used |
| RepoHealthCard | Health scores for top repositories |
| CodeComplexityCard | Code quality grades (A-F) |
| PopularRepos | Top starred repositories |
| Component | Description |
|---|---|
| RepoOverview | Description, topics, links |
| RepoStats | Stars, forks, issues, watchers |
| CommitActivity | Weekly commits (last 52 weeks) |
| CodeFrequency | Additions vs deletions over time |
| Contributors | Top contributors with stats |
| IssuesPRs | Open/closed issues and PRs |
| RecentCommits | Latest commit history |
| Releases | Version history |
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run linting (
npm run lint) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project uses Biome for linting and formatting. Run npm run format before committing.
- UI components go in
src/components/ui/ - GitHub-related components go in
src/components/github/ - Repository-related components go in
src/components/repo/ - Use TypeScript interfaces from
src/lib/github/types.ts
- GitHub OAuth for higher API rate limits
- Organization analytics
- Repository comparison tool
- Export reports as PDF
- Trending repositories discovery
The easiest way to deploy this Next.js app is on Vercel:
This project is open source and available under the MIT License.
Built with Next.js, TypeScript, and TailwindCSS