grindeasy puts a live card on your Discord profile showing which AI coding tool you're actually using - Claude Code, Codex, Cursor, Gemini CLI and more. It never reads your code, only when your session files change. Free, open source, opt-in leaderboard.
No reviews yetBe the first to leave a review for grindeasy · see what you're coding with
Maker
📌
Hi PH 👋
I use Claude Code most of the day, and it always struck me as slightly absurd that
Discord will happily broadcast that I'm playing a game, but has no idea I've been
inside a coding agent for six hours.
grindeasy is a small local agent that fixes that. It works out which AI coding tool
you're actively in and puts a live Rich Presence card on your Discord profile - the
tool, your active time, and your rank if you choose to join the leaderboard.
It handles Claude Code, Codex, OpenCode, Cursor, Gemini CLI and Aider out of the
box, and finds Zed, Continue, Windsurf, Copilot Chat and Cline if you have them.
The design decision I'm proudest of: **it never reads your code.** It decides a
tool is "active" from one signal only - the modification time of that tool's session
files. It looks at *when* they changed, never at what's inside. Your prompts, your
code, your file paths and your keys never leave your machine, because the agent
never opens them in the first place. By default nothing leaves your machine at all;
the leaderboard is opt-in and sends aggregate numbers only.
Free forever, MIT, and the leaderboard server is self-hostable with zero
dependencies.
`npx grindeasy` (Node 20+, Discord desktop app required for the card)
The board is still young enough that if you install today you'll land near the top
of it. I'll be here all day - ask me anything, especially about the detection
approach.
Report
using session file mtimes instead of reading content is a smart way to sidestep the privacy question entirely, nice call. curious how it handles a background agent that's just idling waiting on a long CI run - does the card show you as still "active" the whole time since the file hasn't changed in a while, or does it drop to idle after some timeout?
Report
Maker
@galdayan Yeah, mtimes were the whole point, glad it reads that way. On the CI idle case: it drops to idle. A tool only counts as active if its session files changed in the last 60 seconds, so once the writes stop while you're waiting on CI, the card clears after about a minute (or falls back to your tier card if you keep idle presence on). You don't bank active time just sitting there.
Report
@shashankdev03 good tradeoff, glad it errs toward not banking idle time - a Discord card that stays green while you're just staring at a CI spinner would be a bit gamey anyway. the mtimes-only approach is the right level of paranoid for something touching a coding agent's session files
Report
finally gave this a try and the opt-in leaderboard is genuinely fun to glance at during slow afternoons. like the privacy angle too since it only watches session files change.
Report
Maker
@erenapik Thanks, slow-afternoon glancing is exactly what I use it for too. And yep, it only ever looks at when the session files changed, never the contents. If you want to see your own week without scrolling the board, there's a weekly view as of today.
Report
super fun idea, love that it stays opt-in and only watches session files. one thing i'd love to see is a small weekly stats card on the profile, like hours per tool or a simple breakdown, so people can actually compare their workflow over time without needing the leaderboard view.
Report
Maker
@miray1419291 You basically described what I shipped this morning. grindeasy weekly prints your last 7 days broken down by tool, hours each, with a little sparkline, all local so you don't need the board for it. The leaderboard also has a This Week toggle now.
Report
super clean idea and love that it stays out of the code itself. one thing that would push it further for me is a weekly summary card showing your most used tool and total active hours, so you can actually track your habits over time instead of just the live status.
Report
Maker
@bekirggcf This just landed in today's release. grindeasy service status shows last week's recap inline, and grindeasy weekly gives you hours per tool with your most-used one on top. It's all local, so it's really for tracking your own habits over time rather than the live card.
Report
A Discord status is fun, but most of my dev friends live in Slack. Adding a Slack version (or even just a webhook that pings a custom status) would make this way more useful for teams that aren't on Discord. Also curious if you could expose the data as a simple API so I could pipe it into my own dashboard.
Report
Maker
@ealtunkoza58547 The API bit already works. The local dashboard runs a small server with a /api/stats endpoint that returns plain JSON, so you can pipe it into your own dashboard today (default localhost:4599). Slack isn't there yet. A webhook or custom-status version is a fair ask though, I'll keep it on the list.
Report
Love the opt-in approach and that it only watches session files, that detail matters. One thing I'd want is the ability to group time across tools, so when I bounce between Cursor and Claude Code in the same afternoon it shows a combined session card instead of two separate ones. Would help on days I context-switch a lot.
Report
Maker
@enaywp7v Context-switch days are the interesting case. Right now the card shows whichever tool is active at that moment, and you do get combo credit for running two in the same five-minute window, they just don't merge into one card yet. Good idea for the live view. The new weekly summary already folds everything together across tools if you mainly want the after-the-fact picture.
using session file mtimes instead of reading content is a smart way to sidestep the privacy question entirely, nice call. curious how it handles a background agent that's just idling waiting on a long CI run - does the card show you as still "active" the whole time since the file hasn't changed in a while, or does it drop to idle after some timeout?
@galdayan Yeah, mtimes were the whole point, glad it reads that way. On the CI idle case: it drops to idle. A tool only counts as active if its session files changed in the last 60 seconds, so once the writes stop while you're waiting on CI, the card clears after about a minute (or falls back to your tier card if you keep idle presence on). You don't bank active time just sitting there.
@shashankdev03 good tradeoff, glad it errs toward not banking idle time - a Discord card that stays green while you're just staring at a CI spinner would be a bit gamey anyway. the mtimes-only approach is the right level of paranoid for something touching a coding agent's session files
finally gave this a try and the opt-in leaderboard is genuinely fun to glance at during slow afternoons. like the privacy angle too since it only watches session files change.
@erenapik Thanks, slow-afternoon glancing is exactly what I use it for too. And yep, it only ever looks at when the session files changed, never the contents. If you want to see your own week without scrolling the board, there's a weekly view as of today.
super fun idea, love that it stays opt-in and only watches session files. one thing i'd love to see is a small weekly stats card on the profile, like hours per tool or a simple breakdown, so people can actually compare their workflow over time without needing the leaderboard view.
@miray1419291 You basically described what I shipped this morning. grindeasy weekly prints your last 7 days broken down by tool, hours each, with a little sparkline, all local so you don't need the board for it. The leaderboard also has a This Week toggle now.
super clean idea and love that it stays out of the code itself. one thing that would push it further for me is a weekly summary card showing your most used tool and total active hours, so you can actually track your habits over time instead of just the live status.
@bekirggcf This just landed in today's release. grindeasy service status shows last week's recap inline, and grindeasy weekly gives you hours per tool with your most-used one on top. It's all local, so it's really for tracking your own habits over time rather than the live card.
A Discord status is fun, but most of my dev friends live in Slack. Adding a Slack version (or even just a webhook that pings a custom status) would make this way more useful for teams that aren't on Discord. Also curious if you could expose the data as a simple API so I could pipe it into my own dashboard.
@ealtunkoza58547 The API bit already works. The local dashboard runs a small server with a /api/stats endpoint that returns plain JSON, so you can pipe it into your own dashboard today (default localhost:4599). Slack isn't there yet. A webhook or custom-status version is a fair ask though, I'll keep it on the list.
Love the opt-in approach and that it only watches session files, that detail matters. One thing I'd want is the ability to group time across tools, so when I bounce between Cursor and Claude Code in the same afternoon it shows a combined session card instead of two separate ones. Would help on days I context-switch a lot.
@enaywp7v Context-switch days are the interesting case. Right now the card shows whichever tool is active at that moment, and you do get combo credit for running two in the same five-minute window, they just don't merge into one card yet. Good idea for the live view. The new weekly summary already folds everything together across tools if you mainly want the after-the-fact picture.