https://github.com/aaroncx/reporadar
Scan any GitHub profile — visual developer profile analyzer
https://github.com/aaroncx/reporadar
analytics developer-tools github-api nextjs typescript
Last synced: 2 days ago
JSON representation
Scan any GitHub profile — visual developer profile analyzer
- Host: GitHub
- URL: https://github.com/aaroncx/reporadar
- Owner: AaronCx
- License: mit
- Created: 2026-03-07T19:31:57.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-03-16T15:18:50.000Z (2 months ago)
- Last Synced: 2026-03-17T02:55:26.277Z (2 months ago)
- Topics: analytics, developer-tools, github-api, nextjs, typescript
- Language: TypeScript
- Homepage: https://reporadar-rho.vercel.app
- Size: 246 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RepoRadar
Scan any public GitHub profile and get an instant visual developer profile with analytics, language breakdowns, and contribution patterns.
**[Try it live](https://reporadar-rho.vercel.app)**
## Features
- **Profile Overview** — Avatar, bio, location, followers/following, account age
- **Activity Stats** — Public repos, total stars, total forks, most-used language, most-starred repo
- **Language Breakdown** — Interactive donut chart with stacked bar and top-5 legend
- **Repository Highlights** — Top 6 repos sorted by stars, showing language, stars, forks, and last update
- **Contribution Patterns** — Bar chart of which days of the week repos are created most
- **Commit Activity Heatmap** — GitHub-style heatmap showing update activity over the past year
- **Star History Chart** — Cumulative star count over time with interactive data points
- **Comparison Mode** — Side-by-side comparison of two GitHub profiles
- **Repository Activity Breakdown** — Language distribution bars and update freshness categories
- **Date Range Filtering** — Filter analytics by repo creation or update date
- **CSV/JSON Export** — Export filtered analytics data in CSV or JSON format
- **API Response Caching** — In-memory cache with 5-minute TTL to reduce GitHub API rate limiting
- **Error Boundary** — Friendly error pages with retry and navigation options
- **Loading Skeletons** — Detailed skeleton UI matching every analytics section
- **Mobile Responsive** — Optimized layout for phones and tablets
## Tech Stack
| Layer | Tech |
|-------|------|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Runtime / Package Manager | Bun |
| Styling | Tailwind CSS |
| Fonts | JetBrains Mono, Outfit |
| Testing | Vitest |
| Data | GitHub Public API (no key required) |
## Getting Started
```bash
bun install
bun run dev
```
Open http://localhost:3000, enter a GitHub username, and scan.
## Testing
```bash
bun run test
```
Runs unit tests for utility functions and caching logic via Vitest.
## Project Structure
```
app/
├── page.tsx # Home — search bar
├── layout.tsx # Root layout with metadata
├── error.tsx # Global error boundary
├── globals.css # Animations, grid background
├── compare/
│ └── page.tsx # Comparison mode page
└── user/[username]/
├── page.tsx # Dynamic profile page (server-rendered)
└── loading.tsx # Loading skeleton
components/
├── SearchBar.tsx # Username search input
├── ProfileHeader.tsx # User info display
├── ActivityStats.tsx # 6-stat grid
├── LanguageBreakdown.tsx # Donut chart language visualization
├── RepoHighlights.tsx # Top repos container
├── RepoCard.tsx # Individual repo card
├── ContributionPatterns.tsx # Weekly creation chart
├── CommitHeatmap.tsx # Update activity heatmap
├── StarHistory.tsx # Cumulative star chart
├── ContributorStats.tsx # Language & freshness breakdown
├── CompareForm.tsx # Profile comparison form
├── DateRangeFilter.tsx # Date range filter controls
├── ExportButton.tsx # CSV/JSON export
├── ErrorBoundary.tsx # React error boundary component
└── UserProfile.tsx # Main profile composition
lib/
├── github.ts # GitHub API client and utilities
└── cache.ts # In-memory response cache
__tests__/
├── github.test.ts # Utility function tests
└── cache.test.ts # Cache logic tests
```
## Deploy
No environment variables needed. Deploy to Vercel:
```bash
bun run build
```
## License
MIT