$ git diff --stat sep-2025..oct-2026 (code only, my repos + work)
+1,363,447 −279,110 across 58 personal repos and 1 very busy work repo
Co-Authored-By: Claude <noreply@anthropic.com> ×3,563
On September 13, 2025, I made the first commit on an iPhone app called On This Day. I wanted a calm way to resurface old photos and clean up my library while I was at it. I wrote it with Cursor, mostly at night, because during the day I lead a large engineering org at Microsoft.
That little app turned into a habit. The habit turned into a year. So I did what any self-respecting engineer turned executive would do: I pointed an AI at every repo I touched and asked it to count.
Here’s what came back.
Yes, I know. Lines of code is a terrible metric. Measuring software by lines is like measuring an airplane by its weight. I’ll get to the metric I actually care about. But first, the shape of the year, because the shape is the story.
December changed the slope
Cursor got me started. It was great for one app at a time, with me in the driver’s seat. In December I moved to Claude Code, and by January the work looked different. Claude wasn’t autocompleting my lines anymore. It was opening the pull requests.
You can see it in the git history too. In the Cursor months, almost none of my commits carried an AI trailer. Since January 1, 63% of my commits end with Co-Authored-By: Claude. That’s a floor, by the way. Squash merges eat a lot of trailers.
For the first half of 2026 alone, Claude Code logged 1,289 sessions, 467,561 messages and 85,654 tool calls on my machine. That’s a lot of “yes, go ahead.”
September: 538 PRs in my own repos. Not a typo.
The thing that surprised me most wasn’t the volume. It was the discipline. I made one rule early: everything goes through a pull request, every PR gets an automated review, and nothing merges with a red check. Of the 2,005 PRs I opened in my own repos, 1,965 merged. That’s a 98% merge rate, because small PRs are easy to say yes to.
Seven apps, one travel brain, and a pile of CLIs
Here’s the metric I actually care about: things that exist now that didn’t a year ago. Forty-seven of my repos were born in this window. Seven of them became apps you can download today.
The apps are the visible part. Underneath them is the stuff I use every single day:
Travel Hub, my biggest repo by far (308K lines added). It’s the source of truth for every family trip: flights, hotels, budgets, all of it, with its own iOS app.
Chief of Staff, a private marketplace of Claude Code plugins that triage my inbox, file my taxes into the right folders, and track my credit card credits.
MCP servers and CLIs that give AI assistants real hands: Apple PIM (Calendar, Reminders, Contacts), a remote Fastmail server, Lutron, Aqara, Find My, restaurant reservations.
Mac utilities I wanted to exist: ShellCraft, ClipDown, Spotmoji, SpeedFiler.
From user to maintainer of OpenClaw
In February I sent my first pull request to OpenClaw, an open source personal AI assistant: a plugin for my Apple PIM tools. My first PR merged in April. Today I’m a maintainer on the project.
Across the OpenClaw organization I’ve opened 179 pull requests and landed 135, adding about 113,000 lines. Some favorites: a realtime FaceTime voice bridge (talk to your assistant on a FaceTime call), native iMessage polls you can create, read and vote on, and thumbs-up reactions as approval prompts. I’ve also merged 24 PRs from other contributors, which is its own kind of fun.
And the stuff I published on my own has found people. My public repos have collected 475 GitHub stars (HomeClaw leads with 185), and my 13 npm packages were downloaded 31,488 times in the last year. Somewhere out there, strangers are controlling their fireplaces with my code. I think about that a lot.
Yes, I code at work too
Everything above is nights and weekends. At Microsoft my team is building an agent product inside Microsoft 365 Copilot, and in May I started sending pull requests to our main repo like everyone else.
In six months I opened 464 PRs there and merged 394, about 308,000 lines of code. That puts me #7 of 139 contributorson a repo that merged more than 8,500 PRs in the same stretch. Counting every work repo, I opened 641 PRs.
I’m not saying that to brag. I’m saying it because a year ago it would’ve been impossible. Leaders who stop building lose their feel for the work. AI tools gave me the feel back, in the margins of a very full calendar.
Did any of it pay?
Short answer: a little, and that was never the point. Five of the seven apps can earn money. On This Day, Share Times and Daycard have a free tier with a lifetime unlock or a subscription. Netgleam costs 99 cents. Tallyday takes tips. Bouncer and HomeClaw are free.
Every app on the store is less than 14 months old, and five of them are six months old or younger. I’m not retiring on this. But each one paid for itself in something more useful than money: I now know exactly what it takes to go from first commit to App Store review, and I’ve done it seven times.
Five things I learned in 12 months
1. The bottleneck moved from typing to taste.
The hard part is no longer writing the code. It’s knowing what to build, what “done” looks like, and when to say no. My judgment got more use this year than my keyboard did.
2. Small PRs and automated review are the whole game.
An agent that can write 500 lines in a minute will happily write 5,000. Guardrails keep it honest: one change per PR, tests, a review bot, CI that has to be green. That’s how 1,965 PRs merged without my apps falling over.
3. Give your agents hands.
Half my repos exist so an AI assistant can actually do something: read my calendar, book a table, turn off the lights. Tools beat prompts every time.
4. Build for yourself first.
Every app on that list started as an itch I had. On This Day exists because my camera roll was a mess. Bouncer exists because my gate app was awful. Your own annoyance is the best product spec there is.
5. If you lead engineers, build something.
You’ll understand what your teams are living through, and you’ll ask better questions. It took me about one weekend to stop feeling rusty. It took a year to realize I’m not going back.
A year ago I shipped one app. This year I shipped a habit.
What did your year with AI tools look like? I’d love to hear what you built.
Omar
How I counted
Window: September 13, 2025 (first On This Day commit) to October 31, 2026.
“Lines of code” = lines added in commits on default branches, excluding Markdown, lockfiles, vendored libraries, generated code, binaries and any single file change over 20,000 lines. Personal: 1,055,335 added across 58 repos. Work: 308,112 added in the main product repo.
My dotfiles repo is excluded entirely: about 3,500 of its commits come from an auto-sync job, not from me.
Pull requests: 2,005 in my repos, 275 in other people’s open source repos, 641 across Microsoft repos. Total 2,921.
Open source PRs to a CLI library include generated code, so I left them out of the line counts.
Claude co-author share counts commits with a Co-Authored-By: Claude trailer or a Claude Code footer. It undercounts.









