>In the last thirty days, I landed 259 PRs -- 497 commits, 40k lines added, 38k lines removed.
Is anyone with or without AI approaching anywhere near that speed of delivery?
I don’t think my whole company matches that amount. It sounds super unreasonable, just doing a sanity check.
AI approaches can churn code more than a human would.
Lines of code has always been a questionable metric of velocity, and AI makes that more true than ever.
Is it possible for humans to review that amount of code?
My understanding of the current state of AI in software engineering is that humans are allowed (and encouraged) to use LLMs to write code. BUT the person opening a PR must read and understand that code. And the code must be read and reviewed by other humans before being approved.
I could easily generate that amount of code and make it write and pass tests. But I don't think I could have it reviewed by the rest of my team - while I am also taking part in reviewing code written by other people on my team at that pace.
Perhaps they just aren't human reviewing the code? Then it is feasible to me. But it would go against all of the rules that I have personally encountered at my companies and that peers have told me they have at their companies.
I can make a bot that touches each line of code and commits it, if you would like.
Recently came across a project on HN front page that was developed on Github with a public repo. https://github.com/steveyegge/gastown/graphs/contributors 2000 commits over 20 days +497K/-360K lines
I'm not affiliated with Claude or the project linked.
Read that as "speed of lines of code", which is very VERY very different from "speed of delivery."
Lines of code never correlated with quality or even progress. Now they do even less.
I've been working a lot more with coding agents, but my convictions around the core principles of software development have not changed. Just the iteration speed of certain parts of the process.
If the code is like React, 40k it's just the addition of a few CRUD views
Check out Steve Yegge’s pace with beads and gas town - well in excess of that.
You're counting wheel revolutions, not miles travelled. Not an accurate proxy measurement unless you can verify the wheels are on the road for the entire duration.
ratatui_ruby % git remote -v
origin https://git.sr.ht/~kerrick/ratatui_ruby (fetch)
origin https://git.sr.ht/~kerrick/ratatui_ruby (push)
ratatui_ruby % git checkout v0.8.0
HEAD is now at dd3407a chore: release v0.8.0
ratatui_ruby % git log --reverse --format="%ci" | head -1 | read first; \
echo "First Commit: $first\nHEAD Commit: $(git show -s --format='%ci' HEAD --)"
First Commit: 2025-12-22 00:40:22 -0600
HEAD Commit: 2026-01-05 08:57:58 -0600
ratatui_ruby % git log --numstat --pretty=tformat: | \
awk '$1 != "-" { \
if ($3 ~ /\./) { ext=$3; sub(/.*\./, "", ext) } else { ext="(no-ext)" } \
if (ext ~ /^(txt|ansi|lock)$/) next; \
add[ext]+=$1; rem[ext]+=$2 \
} \
END { for (e in add) print e, add[e], rem[e] }' | \
sort -k2 -nr | \
awk 'BEGIN { \
print "---------------------------------------"; \
printf "%-12s %12s %12s\n", "EXT", "ADDED", "REMOVED"; \
print "---------------------------------------" \
} \
{ \
sum_a += $2; sum_r += $3; \
printf "%-12s %12d %12d\n", $1, $2, $3 \
} \
END { \
print "---------------------------------------"; \
printf "%-12s %12d %12d\n", "SUM:", sum_a, sum_r; \
print "---------------------------------------" \
}'
---------------------------------------
EXT ADDED REMOVED
---------------------------------------
rb 51705 18913
md 20037 13167
rs 8576 3001
(no-ext) 4072 2157
rbs 2139 569
rake 1632 317
yml 1431 153
patch 894 894
erb 300 30
toml 118 39
gemspec 62 10
gitignore 27 4
css 22 0
yaml 18 2
ruby-version 1 1
png 0 0
gitkeep 0 0
---------------------------------------
SUM: 91034 39257
---------------------------------------
ratatui_ruby % cloc .
888 text files.
584 unique files.
341 files ignored.
github.com/AlDanial/cloc v 2.06 T=0.26 s (2226.1 files/s, 209779.6 lines/s)
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
Ruby 305 4792 10413 20458
Markdown 60 1989 256 4741
Rust 32 645 530 4400
Text 168 523 0 4358
YAML 8 316 17 961
ERB 3 20 4 246
Bourne Again Shell 2 24 90 150
TOML 5 16 10 53
CSS 1 3 8 11
--------------------------------------------------------------------------------
SUM: 584 8328 11328 35378
--------------------------------------------------------------------------------
40K - 38K means 2K lines of actual code.
Which could mean that code was refactored and then built on top of. Or it could just mean that Claude had to correct itself multiple times over those 459 commits.
Does correcting your mistakes from yesterday’s ChatGPT binge episode count as progress…maybe?