A community-driven leaderboard for Claude Code (formerly Claude Engineer) usage. Track your AI-assisted coding progress and compete with developers worldwide.
viberank is an open-source leaderboard where developers can upload their Claude Code usage statistics and see how they rank globally. Built with Next.js, TypeScript, and Convex, it provides a minimal, sophisticated interface inspired by Claude's design principles.
- π Global Leaderboard - See how you rank among Claude Code users worldwide
- π Profile Pages - Beautiful profiles at
viberank.app/profile/{username}with usage charts - π Multiple Submission Methods - CLI tool, curl command, or web upload
- π Usage Analytics - Track your token usage and costs over time with interactive charts
- π Advanced Filtering - View rankings by custom date ranges (7d, 30d, all time)
- π GitHub Authentication - Secure sign-in with GitHub OAuth
- π‘οΈ Data Validation - Automatic validation to ensure fair competition
- π Smart Merging - Submit multiple times without data loss
- π± Responsive Design - Beautiful on desktop and mobile
- π― Share Cards - Share your achievements on social media
The easiest way to submit your usage data:
npx viberankThis will:
- Automatically detect your GitHub username from git config
- Generate your usage data using ccusage
- Submit it to the leaderboard
- Give you a direct link to your profile
If you're using Claude Desktop or another MCP-compatible client, you can use our MCP server for seamless integration:
// Add to ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"viberank": {
"command": "npx",
"args": ["viberank-mcp-server"]
}
}
}Then just ask Claude: "Submit my usage stats to Viberank"
If you prefer to use curl directly:
# Generate usage data
npx ccusage@latest --json > cc.json
# Get your GitHub username
GITHUB_USER=$(git config user.name)
# Submit to viberank
curl -X POST https://www.viberank.app/api/submit \
-H "Content-Type: application/json" \
-H "X-GitHub-User: $GITHUB_USER" \
-d @cc.json- Visit viberank.app
- Sign in with GitHub
- Click "Submit Your Stats"
- Upload your
cc.jsonfile
Every user gets a beautiful profile page at viberank.app/profile/{github-username} featuring:
- π Usage Chart - Interactive area chart showing daily costs over time
- π Statistics - Total cost, tokens, days active, and averages
- π Submission History - Detailed breakdown of all submissions
- π·οΈ Model Usage - See which Claude models you use most
- π GitHub Integration - Links to your GitHub profile
To maintain leaderboard integrity, viberank validates all submissions:
- β Token math verification - Ensures input + output + cache tokens = total
- β Negative value check - Rejects any negative values
- β Date validation - No future dates allowed
- β Realistic limits - Flags unusually high usage for review
- Maximum daily cost: $5,000
- Maximum daily tokens: 250 million
- Cost per token ratio: 0.000001 to 0.1
Submissions exceeding these limits are flagged for review and hidden from the main leaderboard to ensure fair competition.
viberank intelligently handles multiple submissions:
- Overlapping dates: Merges data at the daily level, preserving all your usage history
- Non-overlapping dates: Adds to your profile without affecting existing data
- Updates: Submit new data anytime - it will merge with existing data without loss
- Node.js 18+ and pnpm
- A Convex account
- GitHub OAuth App credentials
- Clone the repository:
git clone https://github.com/sculptdotfun/viberank.git
cd viberank- Install dependencies:
pnpm install- Set up environment variables:
cp .env.example .env.local- Configure your
.env.local:
# Convex
NEXT_PUBLIC_CONVEX_URL=https://your-deployment.convex.cloud
# NextAuth
NEXTAUTH_URL=http://localhost:3001
NEXTAUTH_SECRET=your-secret-here # Generate with: openssl rand -base64 32
# GitHub OAuth
GITHUB_ID=your-github-oauth-app-id
GITHUB_SECRET=your-github-oauth-app-secret- Set up Convex:
npx convex dev- Run the development server:
pnpm devOpen http://localhost:3001 to see the app.
- Frontend: Next.js 15, TypeScript, Tailwind CSS
- Database: Convex (real-time, serverless)
- Authentication: NextAuth.js with GitHub OAuth
- Charts: Recharts for data visualization
- Animations: Framer Motion
- Styling: Tailwind CSS with custom Claude-inspired theme
- CLI Tool: Node.js with prompts and chalk
- Development: Turbopack, ESLint, Prettier
If you encounter issues with npx viberank, try:
- Clear npx cache:
npx clear-npx-cache - Use the latest version explicitly:
npx viberank@latest - Install globally (optional):
npm install -g viberankthen runviberank - Check Node version: Ensure you have Node.js 14 or higher
- "Failed to submit data": Check that your cc.json file is valid JSON
- "GitHub username not found": Run
git config --global user.name "YourGitHubUsername" - "No usage data found": Make sure you've used Claude Code at least once
Submit usage data programmatically:
curl -X POST https://www.viberank.app/api/submit \
-H "Content-Type: application/json" \
-H "X-GitHub-User: YOUR_GITHUB_USERNAME" \
-d @cc.jsonResponse:
{
"success": true,
"submissionId": "...",
"message": "Successfully submitted data for username",
"profileUrl": "https://viberank.app/profile/username"
}We love contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- We use ESLint and Prettier for code formatting
- Run
pnpm lintto check for linting errors - Run
pnpm formatto format code
NEXT_PUBLIC_CONVEX_URLNEXTAUTH_URL(your production URL)NEXTAUTH_SECRETGITHUB_IDGITHUB_SECRET
- All authentication is handled through GitHub OAuth
- Usage data is validated to ensure it comes from the official ccusage tool
- No sensitive data is stored - only aggregated usage statistics
- Suspicious submissions are automatically flagged for review
This project is licensed under the MIT License - see the LICENSE file for details.
- Claude by Anthropic for making AI-assisted coding amazing
- ccusage for the usage tracking tool
- The Claude Code community for inspiration
Made with π§‘ by the viberank community