A bird's-eye view of a winding river of glowing green GitHub contribution tiles flowing across a dark landscape, with bright yellow-green flames rising from clusters of the brightest tiles, while a lone figure sits at a laptop at the edge of the mosaic under a distant skyline of code-filled windows.

4255 Contributions – A Year of Building in the Open

I was staring at my GitHub profile the other day when a number caught my eye. 4,255. That’s how many contributions GitHub has recorded for me over the past year. I sat with it for a moment, doing the quick mental math: that’s close to twelve contributions every single day, weekends included. The shape of the year looked just as striking. I showed up on 332 of the 366 days in the window, 91% of them, and at one point put together a 113-day streak without a gap. It felt like a lot. It felt like proof of something I hadn’t been able to articulate until I saw it rendered as a green heatmap on a screen.

About a year ago, I wrote about my decision to move back to individual contributor work after years in leadership roles. I talked about missing the flow state, the direct feedback loop of writing code and watching it work. What I didn’t know at the time was just how dramatically that shift would show up in the data. 4,255 contributions is the quantitative answer to the question I was trying to answer qualitatively in that post: what happens when you give a builder back the time to build?

The Shape of a Year

Numbers by themselves are just numbers. What makes them interesting is the shape they take when you zoom in. My year wasn’t a single monolithic effort on one project. It was a constellation of interconnected work, each project feeding into the next, each one teaching me something that made the others better.

The largest body of work was on Gemini CLI, Google’s open-source AI agent for the terminal. This project alone accounts for a significant chunk of those contributions, spanning everything from core feature development to building the Policy Engine that governs how the agent interacts with your system. But the contributions weren’t just code. A huge portion of my time went into code reviews, issue triage, and community engagement. Working on a repository with over 100,000 stars means that every merged PR has real impact, and every review is a conversation with developers around the world.

Then there was Gemini Scribe, my Obsidian plugin that started as a weekend experiment and grew into a tool with 302 stars and a community of writers who depend on it. Over the past year, I shipped a major 3.0 release, built agent mode, and iterated constantly on the rewrite features that make it useful for daily writing. In fact, this very blog post was drafted in the tool I built, which is a strange and satisfying loop.

Alongside these larger efforts, I shipped a handful of small, sharp tools that I needed for my own workflows. The GitHub Activity Reporter is one I’ve written about before, a utility that uses AI to transform raw GitHub data into narrative summaries for performance reviews and personal reflection. More recently, I built the Workspace extension for Gemini CLI and a deep research extension that lets you conduct multi-step research from the terminal. Each of these tools was born from a specific itch, and each turned out to be useful to more people than I expected. The Workspace extension alone has gathered 510 stars.

The Rhythm of Building

One thing the contribution graph doesn’t capture is the rhythm behind the numbers. My weeks developed a cadence over the year that I didn’t plan but that emerged naturally. Mornings were for deep work on Gemini CLI, the kind of focused system design and implementation that benefits from a fresh mind. Afternoons were for reviews and community work, responding to issues, providing feedback on PRs, and engaging with the developers building on top of our tools. Evenings and weekends were where the personal projects lived: Gemini Scribe, the extensions, and whatever new idea was rattling around in my head.

This rhythm is something I couldn’t have had in my previous role. When your calendar is stacked with meetings from nine to five, the creative work gets squeezed into the margins. Now, the creative work is the whole page. That’s the real story behind 4,255 contributions. It’s not about productivity metrics or GitHub gamification. It’s about what happens when you align your time with the work that energizes you.

What Surprised Me

A few things caught me off guard when I looked back at the year.

First, the ratio of code to “everything else” wasn’t what I expected. I assumed the majority of my contributions would be commits. In reality, a massive portion was reviews, comments, and issue management. On Gemini CLI alone I logged 205 reviews over the year. This was especially true as my role on that project evolved from pure contributor to something closer to a technical steward. Reviewing a complex PR, asking the right questions, and helping someone refine their approach takes just as much skill as writing the code yourself. Sometimes more.

Second, the personal projects had more reach than I anticipated. When I wrote about building personal software, I was mostly thinking about tools I built for myself. But Gemini Scribe has real users who file real bugs and request real features. The Workspace extension took off because it solved a problem that a lot of Gemini CLI users were hitting. Building in the open means you discover an audience you didn’t know was there.

Third, and this is the one I keep coming back to, the year felt shorter than 4,255 contributions would suggest. Flow state compresses time. When you’re deep in a problem, hours feel like minutes. I remember entire weekends spent in the codebase that felt like an afternoon. That compression is, for me, the clearest signal that I made the right call in going back to IC work.

Fourth, and this is the one I never would have predicted until I charted it out: the weekend, not the weekday, turned out to be my most productive window by a wide margin. Saturdays averaged 14.7 contributions, Sundays 14.5, and Thursday, the day I’d have guessed was safest, came in last at 8.3. The busiest single day of the entire year was a Saturday, December 20, when I shipped 89 contributions into podcast-rag, rebuilding the web upload flow, adding episode management to the admin dashboard, and migrating email delivery over to Resend, all in one afternoon. I didn’t plan for the weekends to become the engine. They just did, because that’s where the personal projects live, and the personal projects are where the work is loudest, most direct, and most free of interruption. A day with no meetings on it, I’ve come to realize, is worth more than I ever gave it credit for.

Looking Forward

I don’t know what next year’s number will be, and I’m not particularly interested in making it bigger. The number is a side effect, not a goal. What I care about is continuing to work on problems that matter, in the open, with people who push me to think more clearly. The AI-first developer model I wrote about over a year ago is now just how I work every day. The agents I’m building are the collaborators I’m building with, and both keep getting better.

If you’re someone who’s been thinking about a similar shift, whether it’s moving back to IC work, contributing to open source, or just carving out more time for the work that lights you up, I’d encourage you to try it. You might be surprised by what a year of focused building can produce. I certainly was.

An antique-style fantasy map titled "The Journey of Innovation." It shows a winding, dashed red line charting a complex path through conceptual territories like "The Mountains of Code," "The Sea of Management," and "The Startup Archipelago." The path ends very near its starting point, illustrating a full-circle journey.

Full Circle

My calendar looks different these days. The back-to-back blocks of 1:1s, strategy reviews, and planning sessions have given way to long, uninterrupted stretches of quiet. That quiet has been the most significant change—it’s brought back time to think, a noticeable drop in stress, and a genuine enjoyment in my work that I hadn’t realized was fading. It’s why, after years of leading teams, I’ve deliberately moved back to a role as an individual contributor.

This shift has changed my day-to-day work, but one thing that remains constant is the time I spend mentoring colleagues and contacts, helping them navigate their own career questions. In those conversations, my own journey often comes up, and I hear a familiar question: “You were leading large teams… why the change?” Some have even wondered if I was leaving the company (I’m not). It’s a question with more than one answer, and I realized this post is my way of exploring them fully—for everyone who has asked, and for anyone else thinking about their own path.

It’s a fair question, and the simple answer is that my career has always been guided by a desire to learn and experience things more deeply. It’s never been a straight line up the leadership ladder; I’ve moved between managing and building several times. Each shift was a deliberate choice to go where I felt I could learn the most. This recent move—from a Senior Director role in Cloud AI to a Distinguished Engineer in Google DeepMind—is just the latest example of that pattern: a deliberate step toward the work that feels most urgent and exciting right now.

That motivation started early. My move from Indiana University to Cisco wasn’t just for a job; it was to understand what Silicon Valley was really about. When the dot-com bubble burst, I saw it as a chance to experience something new and jumped into the startup world, working on the foundational tech for what would become the 802.11n and 802.11s WiFi standards. I was learning a ton, but I knew my growth had plateaued. That’s when a friend asked me to consider Google. It was October 2004, just after the IPO, and Google seemed like a magical place. I said yes without knowing what team I’d join. I just wanted to see what it was all about.

My Google journey began in March of 2005 on the municipal WiFi project in Mountain View, but soon took me to London as one of our first engineers in that office. After building out the test engineering team, I moved into Ads and had my first real chance to work with machine learning at Google, working on systems for multivariate ad optimization. From there, I moved back to the US and eventually found my way to Google Maps and Street View.

That was a dream job. I spent nearly a decade in Geo, starting on a team of two working on the launch pipeline and serving infrastructure. Over time, my responsibilities grew, and I had the privilege of leading teams working on everything from the “time machine” feature for historic imagery to 3D reconstruction, imaging hardware, machine learning, and augmented reality. Through it all, I had the chance to learn, explore, and contribute alongside people who became some of my dearest friends.

In 2019, a different kind of challenge appeared. My manager was asked to build a new product area, and I offered to help as his Chief of Staff. I wanted to learn how Google was managed as a business—how decisions were made and how organizations were designed at a macro scale. After two years in that role, I moved back into a technology leadership role, helping with the formation of Core ML.

It was after all of this that I started to realize something important: I missed having my own technical contributions. I missed the flow state, that feeling of time dissolving as you wrestle with a complex problem. I missed the direct feedback loop of writing a piece of code, running it, and seeing it work. I wanted to build my own ideas again.

That feeling connected directly back to my college days. I was an AI major at Indiana University in the 90s, and throughout my career, I had kept coming back to machine learning—in Ads, in Geo, in Core ML. With the explosion of generative AI in 2022, I knew exactly where I wanted to spend my time. More than anything, I wanted to apply these powerful new models to solve real-world problems.

This led me to the ML Developer team in Cloud, leading the Kaggle, Colab, and Gemini API teams. It was a smaller team with a mature leadership bench, which gave me more time to build my own projects—many of which have been chronicled on this blog. As the team evolved, I began contributing to internal projects as well, which culminated in the launch of Gemini CLI, where I was one of the core contributors from the beginning.

Working on Gemini CLI, I realized I was finally doing the exact kind of work I had been craving. When an opportunity came up to move to Google DeepMind and focus full-time on AI Agents and the future of Gemini CLI, I knew it was the right next step.

People often ask me why I’ve been at Google for over 20 years. The answer is simple: it has always been a place of discovery. It’s had its ups and downs, of course. There have been times I’ve considered leaving and times I’ve disliked my situation. But I’ve been lucky enough to move around and keep things fresh, working on projects in mobile, search, maps, technical infrastructure, cloud, and AI. Where else can you get exposed to so much in one place? The fantastic Acquired podcast is currently doing a series on Google (1, 2), and hearing those stories reminded me of how fortunate I’ve been to occasionally get a preview of the future. While a journey like this requires hard work, it also requires being in the right place at the right time. Right now, I feel like I’m in the perfect place for whatever comes next.

This move isn’t just about returning to code. It’s about being in the driver’s seat for the next evolution of software development, where our primary collaboration is with intelligent agents. For a builder, there’s no more exciting place to be. I’m home.