This week Garry Tan (CEO of YC) posted about writing 310K lines of "hand-written source code" in 45 days.
I actually defended him on X — we don't really know all the features he shipped.
But his post got me wondering... "Am I shipping at YC speed?" With Garry's Count, I no longer have to guess.
Garry's Count uses a Claude Code hook and skill to track how many lines of code Claude writes per day and display a running total in your status bar.
Garry's Count: 4,207 lines of hand-written source code
git clone https://github.com/mrieck/garryscount.git && cd garryscount && bash install.shRestart Claude Code. Start coding. Watch the number go up.
A PostToolUse hook fires every time Claude writes or edits a file. It counts the lines and adds them to a daily tally stored at ~/.claude/garryscount/. A status line script reads the tally and shows it in the status bar.
The daily count resets at 5am (configurable).
Type /garryscount in Claude Code to get a Garry-style breakdown report:
- Lines of code by file type, just like the tweet
- Last 7 days of daily totals
- Shipping speed label if you have a full week of data (100k+ lines = "Shipping at YC speed")
Type /goodnight-garry in Claude Code to commit and push all repos you worked on today in one shot.
Claude reads the diff for each repo, writes an accurate commit message, and pushes. Finishes with a summary table of every repo and what was done.
Edit ~/.claude/garryscount/config.json:
{
"reset_hour": 5,
"count_mode": "default",
"label": "lines of hand-written source code",
"show_directory": false
}| Mode | Description |
|---|---|
"default" |
(default) Net new lines only. For edits, subtracts old lines from new. |
"yc-mode" |
Every line Claude writes or modifies counts, even if it rewrites the same file. Great for VC updates. |
The text shown after the number in the status bar. Default is "lines of hand-written source code". Set to "loc" if you want it short.
Set "show_directory": true to append your current working directory to the status bar in orange:
Garry's Count: 4,207 lines of hand-written source code ~/Sites/github/myproject
Default is false.
The hour (0-23) when the daily count resets. Default is 5 (5am). Set to 0 for midnight reset.
The status bar changes color as Claude's daily output grows:
- Green — under 1,000 lines (warming up)
- Yellow — 1,000-5,000 lines (cooking)
- Red — 5,000-10,000 lines (on fire)
- Magenta — 10,000+ lines (legendary)
Note: As per best practices I haven't read any of the the code in this repo.
cd garryscount && bash uninstall.sh- Claude Code
jq(brew install jqon macOS)- macOS or Linux (Windows users need WSL)
If you're using Claude Code to build UI, check out SnipCSS — my Claude Code plugin that extracts CSS from any website and converts it to Tailwind instantly.
Give your coding agent a reference website/section and get pixel-perfect Tailwind that can quickly be integrated into your project.
MIT
