Global Leaderboard | Community | Levels & Badges | PWA App
Website Β· Report Bug Β· Request Feature
π hero.gif
| Step | Description |
|---|---|
| 1 | Sign in with GitHub at ccgather.com |
| 2 | Run npx ccgather in your terminal |
| 3 | Done! Your Claude Code usage syncs automatically |
Claude Code only keeps usage history for 30 days β then your work disappears. The leaderboard service I was using stopped working one day, and no fix came. So I decided: "I'll just build it myself."
Token usage is NOT a measure of skill. More tokens mean more attempts, more experiments, more exploration. This number represents your spirit of exploration and passion.
"One tool, one community, no borders."
Developers worldwide use the same tools, but struggle to communicate due to different languages. The community feature breaks down these barriers with AI-powered automatic translation.
This is just the beginning. CCgather will evolve into a platform where Claude Code developers can showcase projects, share knowledge, and find collaboratorsβregardless of nationality.
I'm a non-developer from South Korea. I started vibe coding in August 2025 with Cursor and Lovable, then discovered Claude Code. For months, I spent 16+ hours dailyβnot using automation tools, but engaging in every conversation, asking Claude to explain concepts at a 15-year-old's level so I could truly understand. I still can't read code on my own, but I've worked hard to understand how the pieces connect.
CCgather was built in about 3 weeks.
On February 2, 2026, I launched CCgather on Product Hunt with zero marketing budget. It earned 116 upvotes and 106 followers on launch day alone β the community responded to the story of a non-developer building a full-featured platform through vibe coding and solving a real pain point.
Developers spend hours staring at gray text on dark backgroundsβI wanted to give them something worth looking at. I aimed for an MVP, but ended up trying many features for the sake of learningβand went through 2 major refactoring overhauls along the way. Countless trade-offs were made between the 3D globe, animations, visual polish, and rendering performance.
I tried to bring every UX detail I imagined to life.
| Feature | CCgather | Others |
|---|---|---|
| Active Maintenance | Daily updates, open-source | Varies |
| Open Source | Apache 2.0 | Limited or closed |
| Community | AI-translated multilingual | Basic or none |
| Country Leagues | Yes | No |
| Level System | 10-tier (Rookie β Immortal) | No |
| Badges | 27 badges, 4 tiers | No |
| 3D Globe Visualization | Yes | No |
| Activity Heatmap | GitHub-style | No |
| PWA & Push Notifications | Yes | No |
| Product Hunt | 116 upvotes on day one, zero marketing | β |
See your passion among developers worldwide. Track your ranking by token usage and compete in country-based leagues that give you a sense of belonging.
π leaderboard.gif
Visualize developer activity worldwide in real-time. See at a glance which countries are actively coding.
Write in your native language. Posts are automatically translated by AI and displayed in the reader's language. Share posts, comments, and celebrate top contributors in the Hall of Fame.
π community.gif
| Icon | Feature | Description |
|---|---|---|
| π | Activity Heatmap | GitHub-style visualization of your daily usage patterns |
| π± | PWA & Push Notifications | Install like an app, receive notifications for community activity |
| π€ | Referral System | Invite friends with unique links, earn badges (5β50 invites) |
| π¨ | Light/Dark Mode | Theme switching with system preference support |
| π± | Responsive Design | Optimized for mobile, tablet, and desktop |
10-tier level system based on token usage
| Level | Icon | Name | Tokens |
|---|---|---|---|
| 1 | π± | Novice | 0 - 50M |
| 2 | β‘ | Apprentice | 50M - 200M |
| 3 | π¨ | Journeyman | 200M - 500M |
| 4 | π | Expert | 500M - 1B |
| 5 | π₯ | Master | 1B - 3B |
| 6 | π | Grandmaster | 3B - 10B |
| 7 | π | Legend | 10B - 30B |
| 8 | βοΈ | Mythic | 30B - 50B |
| 9 | π« | Immortal | 50B - 100B |
| 10 | π | Transcendent | 100B+ |
27 badges Β· 4 tiers
| Tier | Description |
|---|---|
| π‘ Legendary | Highest difficulty achievements (6) |
| π£ Epic | Advanced achievements (7) |
| π΅ Rare | Intermediate achievements (8) |
| βͺ Common | Entry-level achievements (6) |
Categories:
- π₯ Streak: Consecutive activity days (7 days ~ 180 days)
- π Tokens: Cumulative usage (1M ~ 10B)
- π Rank: Ranking achievements (Top 50 ~ #1)
- π Model: Usage patterns (Haiku, Sonnet, Opus)
- π€ Social: Friend referrals (5 ~ 50 people)
npx ccgatherπ cli.gif
| Menu | Function | Description |
|---|---|---|
| π€ | Submit Usage Data | Scan and submit Claude Code usage |
| π | Auto-submit | Turn the daily automatic submit on or off, or change its time |
| π | Open Leaderboard | Check rankings in browser |
| βοΈ | Settings | Re-authenticate or change account |
npx ccgather@latest submitSubmits your usage without any prompt, so it can run from a scheduler. Log in once with npx ccgather first; submit never opens the login flow. It prints one timestamped result line and exits with:
| Code | Meaning |
|---|---|
| 0 | Submitted |
| 1 | Not logged in, no usage data, rate limited, or a network/server error |
Claude Code keeps about 30 days of local data, so once a day is plenty. Auto-submit (npx ccgather@latest autosubmit on) sets that up for you. To schedule it yourself instead:
# cron (macOS/Linux), every day at 21:17 β Node must be on cron's PATH
17 21 * * * npx --yes ccgather@latest submit >> ~/ccgather.log 2>&1
# Windows Task Scheduler (run in Command Prompt), every day at 21:17; a console window shows while it runs
schtasks /create /tn "CCgather submit" /sc daily /st 21:17 /tr "cmd /c npx --yes ccgather@latest submit >> \"%USERPROFILE%\ccgather.log\" 2>&1"Pick a minute of your own rather than copying 21:17: everyone who keeps the example would reach the server in the same second. Task Scheduler skips a run on battery power by default, and both schedulers skip a run while the machine is asleep or off, so pick a time the machine is usually awake and plugged in.
A scheduler does not see the API key or cloud-provider variables your shell profile sets, so a submit it runs reports the Claude Code sign-in it can see (your claude.ai login, say), and your plan badge can switch between that and what a terminal submit reports. Auto-submit avoids this: its runs send no plan, so the badge follows your own submits.
Let the CLI set up the daily job for you, using your operating system's own scheduler:
npx ccgather@latest autosubmit on # turn it on, or update/repair it
npx ccgather@latest autosubmit status # what the scheduler has, and what the last run did
npx ccgather@latest autosubmit off # remove it
npx ccgather@latest autosubmit on --at 21:30 # pick the time yourselfWithout --at it runs every day at the time you turned it on plus five minutes (turn it on at 14:17 and it runs at 14:22), in your local time. People turn it on at different moments, so not everyone submits at once, and your machine is usually awake at that time. The main menu has the same thing as its second item, right under Submit usage data: π Auto-submit: OFF turns it on, and Auto-submit: ON Β· daily 14:23 offers Change time, Turn off and Back. If the machine was off at that time, the job catches up later (except with the Linux cron fallback, which skips that day); a run is skipped if you submitted in the 20 hours before it, so the first one may be. Running on again when it is already on refreshes the job and keeps its time. status shows what the scheduler has and what the last run did:
Auto-submit: ON
Schedule: daily at 14:23 (systemd user timer)
Runs: the newest ccgather release each day, via npx
Last run: 2026-10-12 14:23 Β· skipped: submitted 10 minutes ago
Next run: 2026-10-13 14:23
Log: journalctl --user -u ccgather-autosubmit
When the scheduler reports a run that failed before the CLI could record it (for example npx could not fetch the package), status shows a Problem: line.
When turning it on, you are offered the GitHub star prompt unless you have already starred.
| OS | What it creates | Log |
|---|---|---|
| Windows | Task Scheduler task ccgather-autosubmit, daily and at sign-in, also on battery, with no console window | %LOCALAPPDATA%\ccgather\autosubmit.log |
| macOS | LaunchAgent com.ccgather.autosubmit, daily and at login | ~/Library/Logs/ccgather/autosubmit.log |
| Linux | systemd user timer ccgather-autosubmit.timer, or a marked crontab line where systemd user sessions are not available | journalctl --user -u ccgather-autosubmit, or ~/.local/state/ccgather/autosubmit.log with cron |
The macOS setup is covered by tests but has not yet been run on a real Mac; Windows and Linux (systemd and cron) have. If the job misbehaves, npx ccgather@latest autosubmit off removes it.
Set up through npx, the job runs the newest ccgather release each day (npx --yes ccgather@latest), so upgrades reach it on their own; --pin keeps it on the version you set it up with, and running on again moves it. A global install runs its own copy and follows npm install -g ccgather; --auto-update makes even a global install run ccgather@latest. Jobs created through npx with v2.3.0 or v2.3.1 are pinned to that version: run npx ccgather@latest autosubmit on once to update them (an npm older than 9.6.5 keeps running a cached copy of npx ccgather without @latest).
- macOS may show a "Background Items Added" notification once.
- Linux (systemd) runs the job only while you are signed in and catches up at your next login. To run it while signed out, run
loginctl enable-linger $USERyourself.
CC = Claude Code
Gather = Come together + Collect
"Where Claude Code developers worldwide gather"
| Area | Technology |
|---|---|
| Frontend | Next.js 16, React 19, TypeScript 5.9, Tailwind CSS 4 |
| Backend | Supabase (PostgreSQL), Clerk (Auth) |
| State Management | TanStack Query |
| UI | Radix UI, Lucide React |
| Visualization | Framer Motion, Recharts, Cobe |
| AI | Google Gemini (Translation) |
| PWA | next-pwa, Web Push API |
| Testing | Playwright |
| Code Quality | ESLint, Prettier, Husky |
This project was inspired by the following projects:
| Project | Description |
|---|---|
| ccusage | Claude Code usage analyzer that inspired our CLI implementation (by @ryoppippi) |
| cobe | 3D globe visualization library (by @shuding, Vercel) |
This project is distributed under the Apache License 2.0. See LICENSE for details.
Record. Track. Grow.