Futuristic GitHub Developer Analytics Dashboard
Visualize, analyze, and compare any GitHub developer profile in seconds — no setup, no login required.
🚀 Live Demo · 🐛 Report Bug · ✨ Request Feature
- About The Project
- Features
- Tech Stack
- Getting Started
- Project Structure
- Environment Variables
- Available Scripts
- Roadmap
- Contributing
- License
- Contact
XamHub is an open-source GitHub analytics dashboard that turns raw GitHub data into beautiful, actionable insights. Whether you're a developer evaluating your own open source impact, comparing yourself to peers, or just curious — XamHub delivers it all instantly, with zero configuration.
Built with a cinematic neon glass-morphism UI, smooth Framer Motion animations, and powered entirely by the public GitHub REST API.
No account. No API key. No setup. Just results.
| Feature | Description |
|---|---|
| 🔍 Instant Profile Search | Search any GitHub username and get a full analytics dashboard in milliseconds |
| 📊 Developer Analytics | Language breakdown, top repos, activity timeline, and contribution stats |
| 🏆 Impact Score & Grade | Algorithmic open source grade based on stars, forks, commits, and activity |
| 📄 Developer Resume Card | Generate and download a shareable PNG resume card from your GitHub profile |
| 🔥 Roast Engine | Honest, funny system diagnostics of your GitHub habits and patterns |
| 🧪 GitHub Addiction Meter | Measures commit frequency, late-night coding streaks, and weekend warrior scores |
| ⚖️ Side-by-Side Comparison | Compare two GitHub profiles head-to-head across all key metrics |
| 🏥 Repo Health Assessment | Quality scoring for each repository based on documentation, activity, and more |
| 🎨 Cinematic UI | Neon glass-morphism design with smooth Framer Motion animations |
| Category | Technology |
|---|---|
| Framework | React 18 + TypeScript 5 |
| Build Tool | Vite 5 |
| Styling | Tailwind CSS 3 |
| UI Components | shadcn/ui (Radix UI primitives) |
| Animations | Framer Motion |
| Charts | Recharts |
| Image Export | html2canvas |
| Data Fetching | TanStack Query v5 |
| Routing | React Router v6 |
| Data Source | GitHub REST API v3 |
| Testing | Vitest + Testing Library |
Make sure you have the following installed:
- Node.js
v18.0.0or higher - npm
v9+or bun
node --version # v18+
npm --version # v9+# 1. Clone the repository
git clone https://github.com/mdjameee400/xamhub.git
# 2. Navigate into the project folder
cd xamhub/starfall-analytics
# 3. Install dependencies
npm install# Start the development server
npm run devOpen http://localhost:5173 in your browser. The page hot-reloads on every save.
starfall-analytics/
├── public/ # Static assets (favicon, OG image)
├── src/
│ ├── components/ # All UI components
│ │ ├── ui/ # shadcn/ui base primitives
│ │ ├── AddictionMeter.tsx # GitHub Addiction Meter visualizer
│ │ ├── Analytics.tsx # Language chart + activity timeline
│ │ ├── Background.tsx # Animated neon background
│ │ ├── CompareView.tsx # Side-by-side developer comparison
│ │ ├── ProfilePanel.tsx # User profile card
│ │ ├── RepoGrid.tsx # Repository grid with indicators
│ │ ├── RepoHealthAssessment.tsx # Repo quality scoring
│ │ ├── ResumeCard.tsx # Downloadable Developer Resume PNG
│ │ ├── RoastCard.tsx # Roast engine diagnostics
│ │ ├── SearchBar.tsx # Username search input
│ │ └── SkeletonDashboard.tsx # Loading skeleton UI
│ ├── hooks/
│ │ ├── useGitHub.ts # Fetch & cache GitHub profile data
│ │ └── useCompare.ts # Compare two GitHub profiles
│ ├── pages/
│ │ ├── Index.tsx # Main dashboard page
│ │ └── NotFound.tsx # 404 page
│ ├── services/
│ │ └── github.ts # GitHub API calls (typed interfaces)
│ ├── utils/
│ │ ├── scoring.ts # Impact score + freshness index
│ │ └── realityCheck.ts # Roast engine + addiction calculator
│ ├── lib/
│ │ └── utils.ts # Shared utilities (cn, etc.)
│ ├── App.tsx # Root app with routing
│ ├── main.tsx # Entry point
│ └── index.css # Global styles + CSS tokens
├── .gitignore
├── components.json # shadcn/ui configuration
├── package.json
├── tailwind.config.ts
├── tsconfig.json
└── vite.config.ts
XamHub works fully without any API key. It uses the public GitHub REST API (unauthenticated, 60 req/hour per IP).
For higher rate limits, create a .env.local file in the project root:
# .env.local — ⚠️ DO NOT COMMIT THIS FILE
VITE_GITHUB_TOKEN=your_personal_access_token_here
⚠️ Warning: The.env.localfile is already in.gitignore. Never commit tokens or secrets to version control.
To generate a GitHub token: Settings → Developer Settings → Personal Access Tokens
| Command | Description |
|---|---|
npm run dev |
Start the local development server at localhost:5173 |
npm run build |
Build the production bundle to ./dist |
npm run preview |
Preview the production build locally |
npm run lint |
Run ESLint across the entire codebase |
npm test |
Run tests once with Vitest |
npm run test:watch |
Run tests in interactive watch mode |
- GitHub profile analytics dashboard
- Language distribution chart
- Developer Impact Score & Grade
- Developer Resume Card (downloadable PNG)
- Roast Engine / System Diagnostics
- GitHub Addiction Meter
- Repo health assessment
- Side-by-side developer comparison
- GitHub Token support for higher API rate limits
- Contribution heatmap visualization
- Organization profile analytics
- Dark / Light theme toggle
- Share to social media improvements
- Public API endpoints
See the open issues for a full list of proposed features and known issues.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also open an issue tagged enhancement.
# 1. Fork the repository on GitHub
# 2. Clone your fork
git clone https://github.com/<your-username>/xamhub.git
cd xamhub/starfall-analytics
# 3. Create your feature branch
git checkout -b feat/amazing-feature
# 4. Make your changes, then commit
git add .
git commit -m "feat: add some amazing feature"
# 5. Push to your branch
git push origin feat/amazing-feature
# 6. Open a Pull Request- Follow the existing TypeScript + Tailwind code patterns
- Use Conventional Commits —
feat:,fix:,docs:,chore: - Run
npm run lintandnpm testbefore submitting a PR - Keep PRs focused — one feature or fix per PR
- Never commit
.envfiles, API keys, or secrets
Distributed under the MIT License. See LICENSE for more information.
Md Jamee — @mdjameee400
Project Link: https://github.com/mdjameee400/xamhub
If XamHub helped you or you think it's cool, please consider giving it a ⭐ — it helps the project grow!
Built with ❤️ and a lot of late-night commits.