I've been using Claude Code as my primary development tool for months. It's fast, it's powerful, and it lives in the terminal — which is exactly where I want to be.
But something always nagged at me. Every session was a black box. I'd code for hours, ship features, push commits... and then close the terminal. No record. No progression. No way to know if I was using the tool effectively or just scratching the surface.
So I built a scoreboard.
Why gamification works for developers
We already think in systems. Give a developer a set of rules and they'll optimize. Give them a leaderboard and they'll compete. This isn't a theory — it's how we're wired.
Think about it: GitHub contribution graphs, Stack Overflow reputation, Advent of Code rankings, typing speed tests. Developers voluntarily gamify everything. The motivation isn't extrinsic rewards — it's the feedback loop itself. Seeing a number go up. Watching yourself climb a rank. Knowing that your consistency compounds.
I wanted that feeling for AI-assisted coding.
Introducing hackers.baby
hackers.baby is a CLI plugin for Claude Code that tracks your sessions and maps them to points on a global leaderboard.
You install it, run one command, and every future Claude Code session automatically earns you a score. There's a live leaderboard at hackers.baby and a terminal command to check your rank.
The install takes under 60 seconds:
npm i -g @hackersbaby/plugin
hackersbaby init
That's it. The init command handles GitHub OAuth, registers the hooks, and you're live.
How the scoring system works
The scoring is designed to reward meaningful work, not just time spent in the terminal. Here's the breakdown:
Base points
| Action | Points |
|---|---|
| Token consumption | Scaled by volume |
| Tool calls | Per-call points |
| Commits | 50 pts each |
| Deployments | 200 pts each |
Multipliers
This is where it gets interesting:
- Streak multiplier (up to 3x): Use Claude Code on consecutive days and your multiplier grows. Miss a day, it resets. This single mechanic drives daily retention harder than anything else I've built.
- Quality commit (1.5x): Commits with meaningful diffs and good messages earn a bonus. This discourages gaming the system with empty commits.
- Language diversity (1.2x): Work across multiple languages in a session and earn a bonus. Polyglot developers get rewarded.
Multipliers stack. So a quality commit on day 7 of a streak in a multi-language project can earn substantially more than the base 50 points.
What the CLI looks like
After installing, you get a few commands:
$ hackersbaby status
Player: @yourusername
Score: 4,280 pts
Rank: #47 / {{user_count}}
Streak: 3 days (1.5x multiplier)
Today: +620 pts across 2 sessions
Week: +2,100 pts
$ hackersbaby leaderboard
# │ Player │ Score │ Streak
───┼─────────────────┼──────────┼────────
1 │ @{{top_player}} │ {{top_score}} │ 7d
2 │ @player2 │ 12,450 │ 3d
3 │ @player3 │ 11,200 │ 5d
4 │ @player4 │ 9,800 │ 4d
5 │ @player5 │ 8,600 │ 2d
───┼─────────────────┼──────────┼────────
47 │ @you │ 4,280 │ 3d
Full leaderboard → hackers.baby
Under the hood
The plugin uses Claude Code's native hooks system. When you run hackersbaby init, it registers event handlers for key lifecycle points:
- PostToolCall — fires after every tool invocation
- Stop — fires when a session ends
- Notification — captures async events
Each hook triggers a lightweight CLI command that writes the event to a local SQLite buffer at ~/.hackersbaby/events.db. Events are flushed to the API every 30 seconds or on session end.
This architecture means:
- Zero latency impact. No network calls during active coding.
- Offline resilience. Events survive connectivity drops.
- Privacy by design. Only event metadata is sent — token counts, action types, timestamps. No code content ever leaves your machine.
Auth is handled via GitHub OAuth, so your leaderboard identity is your GitHub handle.
What happened when I launched
I seeded a small group of testers before the public launch. The results surprised me:
People coded more. Not in a grind-it-out way — in a "let me finish this before I lose my streak" way. The streak mechanic created a gentle daily pull that turned sporadic usage into a habit.
People compared strategies. The leaderboard became a conversation starter. "How did you hit that score? You deploy more often? Interesting." It surfaced workflow differences that would have stayed invisible.
People came back. Daily. The retention on this tiny MVP was better than any product I've built. Seeing yourself climb a rank is a stronger hook than any notification.
What's next
Season 0 is just the beginning. Here's what's on the roadmap:
- Team leaderboards — compete as a squad
- Achievement badges — unlock milestones for specific actions
- Seasonal competitions — time-limited events with unique scoring rules
- Social features — share your stats, flex your rank
- CLI dashboard — richer terminal-based stats view
Try it
If you use Claude Code, this takes 60 seconds:
npm i -g @hackersbaby/plugin
hackersbaby init
Then just code normally. Your next session is already being scored.
Check the leaderboard: hackers.baby
I'm building this in the open and iterating fast based on feedback. If you have thoughts on the scoring, feature ideas, or just want to tell me this is dumb — I want to hear it.
Come compete.
Top comments (0)