But recently, over the past few months, something has shifted.
We’re seeing the “formula syntax barrier” dissolve in real-time. Years of experience and a deep knowledge of the function landscape is no longer required to write complex formulas.
The true impact of this realization hit me while I was experimenting with a new formula game: building a Minesweeper demo in Google Sheets, using only formulas. (Spoiler: I don’t believe it’s possible to do fully, without using code to control the game play.)
I started the traditional way, experimenting with various OFFSET functions to “see” what was in the adjacent cell to the formula. It was intellectually satisfying, but also slow going.
The New Way
Once I had a working OFFSET formula that checked a single cell, I decided to see what Gemini would do. Truthfully, I couldn’t justify the time doing it myself when I had “real” work to do (or, was I just too lazy to do that much hard thinking?).
So I plugged the formula into Gemini with this prompt:
I have this formula in Google Sheets that checks whether the cell directly below is equal to "A". It gives an output 1 if the cell below equals A and blank otherwise:=IF(OFFSET( INDIRECT( ADDRESS( ROW(), COLUMN())),1,0)="A",1,)can you extend this concept and create a formula that checks if any of the adjacent cells that border the formula cell are equal to "A". There are 8 cells that surround the formula cell.
Now, it’s not playable in the traditional sense (that would require some coding) but it shows sort of how Minesweeper works.
What used to take me hours of deep-focus was delivered in minutes. And instead of getting stuck on syntax, I was free to focus on the high-level problem and design.
And here’s the thing. I could have just as well started with a text only prompt and skipped creating that first formula, and Gemini (or another AI tool) would have gotten the answer for me.
The Economic Argument
When time is money, writing complex formulas manually does not make economic sense. If it takes you an hour to figure out a complex array formula but only 30 seconds for an AI tool to generate it, then the “hand-crafted” version is no longer a demonstration of skill but instead a waste of resources.
Writing formulas today feels increasingly like hand-washing laundry when you own a functional washing machine.
Changing Nature of Work
Our role is shifting (has shifted?) from creator to director.
We now iterate our way to a solution through a conversation with an AI tool, refining logic and debugging via prompts.
However…
Being “formula literate” remains a superpower.
My Minesweeper experiment succeeded because of my years of honing my craft. I knew that the OFFSET function was key to making it work. And then I knew how to write the best prompts to get the solution I wanted.
So although you don’t necessarily need to master every function, parentheses, or comma anymore, it helps enormously to be able to audit the logic and spot mistakes.
I’d also make the case that for simpler formulas (e.g. a simple XLOOKUP to join data tables), it’s quicker to write the formula yourself, rather than switching to an AI tool.
The Verdict
Image generated by ChatGPT
The goal was never to write the perfect formula; the goal was always to solve the problem.
If we reach the answer ten times faster by delegating formula syntax to Gemini, we haven’t lost our craft or diminished our work. Rather, we’re being smart with our time and opening ourselves up to solving more advanced problems.
So don’t mourn the manual formula.
Instead, use the hours you claw back to tackle the problems that AI can’t solve: business strategy and the human impact of the results on your customers.
And a Closing Caveat
Yes, AI is very good at generating formulas and fixing formula syntax.
But YOU are still much better at building entire spreadsheets, managing data, communicating with your clients, and solving complex problems.
So don’t get too drawn into the AI hype. By all means, work faster by leveraging AI tools but lean into your human experience to solve the bigger problem.
Now go forth and conquer those complex formulas! (With a little help from Gemini.)
Most of us are sitting on an absolute goldmine of unstructured data.
Think about it: years of client reports, research notes, project documentation, YouTube videos or, in my case, a decade’s worth of newsletter archives.
Usually, this information just sits there dormant. Why? Because it’s spread all over the place, too tedious to search through and catalog, and way too dense to summarize manually.
But by combining Apps Script, NotebookLM, and Gemini Gems, we can transform that forgotten archive into an AI content engine. We’re talking about a system that can access all your content and generate new work based on that specific foundation.
Why NotebookLM AND a custom Gem?
By using NotebookLM as the data foundation and a Gemini Gem as the creative interface, we create a workflow that captures the best of both worlds.
NotebookLM acts as a secure vault containing our data, ensuring that new derivative work is strictly grounded in our own history. However, NotebookLM is a research tool built more for consuming (reading, listening, slide decks, flash cards etc.) rather than creating “new” content. It lacks the ability to remember our voice between chats or access the live web.
A Gemini Gem, on the other hand, serves as a creative foil. It can remember our specific voice and formatting preferences, so we don’t have to explain this each time. It can also access the web to incorporate external data, if required. And it can generate images and video too.
This architecture allows us to take our archived knowledge and quickly transform it into new, high-quality content.
How To Build a Content Engine
To build this workflow, we need to solve for three things: 1) extracting our data, 2) storing our data, and 3) generating new content from this data.
If you don’t have much source data then you can just add it directly as sources in your NotebookLM (go straight to step 3 below).
But if you have a lot of source data (in my case, 375 newsletters at about 500,000 words and 240 blog posts at about 700,000 words) then it’s not as simple as just uploading them one-by-one to NotebookLM. For one thing, you can’t upload that many separate source docs to NotebookLM (the limit on the free plan is 50 sources). Secondly, can you imagine how tedious it is to manage almost 600 different sources!
The solution is to create a script to scrape all these web links and dump the content into a series of Google Docs. I created ten Google Docs, each with about 60 pieces of content. Don’t try to put everything into one single giant Doc, as again, you might run into the size limits in NotebookLM, which is up to 500,000 words per source.
1. Code Your Scraper (Optional)
I started with a Google Sheet containing a list of newsletter subject lines in column A and the URLs of the hosted newsletter content in column B, with 375 rows in total.
Don’t worry, we don’t need to write the script ourselves from scratch! Simply prompt Gemini to write a Google Apps Script for you.
I used this prompt in Gemini to generate the script that would visit each URL in turn and save the text into a Google Doc. To ensure it could handle the volume of data without timing out (Apps Script has a 6-minute limit) I asked Gemini to grab content in batches and keep track of rows, so the script could “resume” where it left off.
Generate a Google Apps Script that takes a list of website links from a sheet called ‘Newsletter URLs’ and saves them into a single Google Doc. Put the subject line from Column A as a Heading 1 and then pull all the text from the URL in Column B underneath it.
It needs to remember where it left off if it hits a time limit, so I can just hit ‘Run’ again to pick up the progress. Also, make sure it pauses for a few seconds between each link and refreshes the document connection every few rows so it doesn’t crash or get blocked by the websites.
In your Sheet with the list of links, go to Extensions > Apps Script
Copy in the script that Gemini created.
Make sure your insert the correct ID from your Google Doc
To begin with, run a test with 5 URLs to ensure the script works as intended. If you encounter any errors, paste them back into Gemini and ask for a fix.
Once you’re happy its working, move to step 2 and start consolidating your online content into Google Docs.
2. Extract and Consolidate Your Data
Run your script from the Google Sheet containing your source URLs. It will visit each link in turn and paste the data into your Google Doc in batches.
This centralizes disparate web data into a single, clean Google Doc.
This “grounds” the AI, ensuring it only uses your verified history and doesn’t “hallucinate” outside facts.
4. Distill Your Voice to Create a Style Guide
Back in Gemini, in a new chat, connect it to one of these Google Docs, which contains your best writing.
Prompt Gemini to analyze your voice and identify your unique formatting habits, vocabulary preferences, and “persona”.
Based on the attached google doc of my writing published online, write a style guide for a custom Gem that captures my voice. The instructions should enable the gem to write in my voice, using a notebooklm backend with access to all my previous published writings
In my example, this was the response from Gemini, which was a good starting point that could be tweaked to create my unique style guide:
Once you’re happy with the response, save it as a Style Guide in a Google Doc.
5. Build the Gem (The Interface)
In Gemini, open the Gem Manager and create a New Gem.
Link your NotebookLM archive in the “Knowledge” section and paste your Style Guide rules from section 4 into the Instructions box.
Hit Save and move to step 6!
6. Use Your Gem to Create New Content
Test the Gem with a prompt like: “Using the logic from [Source Name], draft a new response in my voice”.
In my example, I tried this prompt:
draft a newsletter about the VSTACK function
And here is the newsletter Gem taking this simple start prompt about the VSTACK function and generating a newsletter that is a pretty good mimic of the real thing.
Of course, if I was to use this example, I would need to review the text with a fine tooth comb, check all the examples, fix the links, and rewrite sections to make it my own.
However, as a first step, to generate ideas or scaffolding, it’s incredibly helpful.
Now, instead of spending hours drafting, I can ask my Gem to “draft a new tip about data validation based on the logic I used in Tip #210.” It generates a plausible draft in my voice, using my historical data, in seconds.
Welcome to my 2025 Annual Review, which marks my eleventh year of working for myself in this little corner of the internet. I guess that makes me something of a veteran in this online, creator space. (I certainly feel like a dinosaur next to all the kids half my age cranking out viral memes!).
As I say every year, I’m extremely grateful that I get to do what I do. I love the work and being my own boss is the best. Being able to choose what projects to work on and how to spend my time (on work, parenting, or fun) will never get old.
Overall though, 2025 was a bit of a strange and challenging year. A mix of highs and lows. Momentum one week. No momentum the next. Fit and healthy. Sick and tired. Two steps forward, one step back.
It’s naive to expect progress to always be linear—up and to the right—and this year proved so. Things didn’t pan out as I expected with my membership program, which was disappointing. But the new course I launched in October was the standout work highlight of the year and injected some fresh momentum back into my business.
So I feel content as we start this new year. I have a wonderful family, I’m in good health, I love where we live, and my work is still interesting. I’m excited, hopeful, and optimistic that 2026 will be a good year, better than 2025.
2025 Highlights
Evolution of Google Sheets: AI and Tables
The rise of AI continued through 2025 and firmly established itself in our Google Sheets workflows. From the Gemini sidebar to the dedicated AI function, AI is now available and useful in many scenarios.
Personally, I use the Gemini browser app for Apps Script coding and formulas, the Gemini sidebar for formulas, basic data analysis, and conditional formatting, and the AI function for any kind of text analysis.
My favorite demonstration of the power of these AI tools within our Sheets workflows is some variation of an automated response tool: data comes into our Sheet (e.g. from a Google Form), we use Tables (which I recommended highly) and the AI function to analyze it. Then we use Gemini to write the code to automate the process of responding via Gmail. This video shows the process in detail:
Looking forward to 2026, I expect we’ll see many more automated and AI-enhanced workflows like this, especially with Google Workspace Studio, announced late last year.
AI is lowering the barrier to entry for many folks and removing the “syntax hurdle” that trips up so many beginner coders. It’s incredible to have a front row seat to watch this happen.
Modern Google Sheets Course + Workshops
After taking a break from creating courses in 2024, I launched Modern Google Sheets in the fall of 2025. It’s designed to help you work faster, smarter, and more confidently with Google Sheets in the AI era.
I thoroughly enjoyed creating this course and teaching the live workshops.
The course launch was successful and the whole process, from the research through to the live workshops, was super rewarding. It’s got me fired up for more courses and teaching in 2026.
Google Sheets Tips Newsletter
I sent 42 newsletters this year, starting with issue 329 and finishing with issue 370.
It goes out to around 53,000 readers each week and about 21,000 folks open and read it. I’m still amazed that I get to share ideas with so many of you. Thank you for reading!
If you’re interested in sponsoring an issue and getting your company in front of these professionals, you can find all the sponsorship details here.
Sheets Insiders Work
Although the Sheets Insiders membership closed at the one-year anniversary (see challenges below), I was proud of the community and work we did together during the year.
Highlights included:
1) the live workshops (especially the Apps Script series when we built an internal add-on)
2) geeking out on Google Sheets, especially the chart tool. It was interesting to see how far it can be pushed. Probably my favorite chart of the year was this Ikea chart that combined columns and areas, using sinusoidal math equations to get the curved effects.
3) I enjoyed experimenting with familiar functions for some of the weekly tutorials, such as this gradient sparkline with a text overlay (achieved with array literals):
Personal Highlights
Although 2025 did not have as many outdoor adventures as I’d hoped, there were some gems in there, including:
A 32-mile day hike in the mountains from my doorstep
A wonderful vacation to the Massanutten mountains with Lexi, for a few days of epic hiking and kid-free relaxing
A cruise through Alaska’s Inside Passage with my wife’s family. The scenery and wildlife were spectacular (see the pic at the top of this post)!
And finally, I truly love the little town we live in. It’s a cute, historic mountain town with beautiful scenery, abundant history, and great recreational opportunities. I feel incredibly lucky to call this place home.
Mountains and rivers close to home ❤️
2025 Challenges
Membership Growth
I found it very challenging to grow the membership once the initial launch and Black Friday push were over.
I promoted it frequently in my newsletter, talked about the live workshops, mentioned it in my social media posts, but the numbers hardly budged.
Ultimately, I decided to shut the membership down at the end of the first year and shift my focus back to my bread-and-butter: teaching courses.
Viewed as a one-year project, the membership experiment was a moderate success. The revenue was comparable to a new course, the research was super interesting, and the teaching was extremely rewarding.
However, viewed as a long-term business shift from a course model to a subscription model, obviously it failed. But that’s ok. That’s what business is all about. Trying things and seeing what works.
I have a pretty good sense of why it didn’t work:
It wasn’t differentiated enough from the regular weekly newsletter, so people couldn’t see the value clearly enough.
Many successful memberships lean into the community, not content, as the unique value proposition. But I have always preferred content creation, solving problems, and teaching. I realized early on that I didn’t want to run an online community. Ergo, the course model is a better fit for me.
So many products are now subscription based (dishwasher tablets! all our media! meal kits!) that a lot of us (me included!) have subscription fatigue. I’m sure this was a factor.
I didn’t develop the content plan very strategically, so it was scattered across many different areas (Sheets, AI, Apps Script automation, Looker Studio). It would have been improved with a better content roadmap. And this is where a course is actually a better vehicle for delivery. A course covers a topic or tool in detail and the lessons build on each other. And the customer knows exactly what they’re getting.
Finally, for me personally, the weekly publishing cadence became a burden. I love writing my weekly newsletter so I thought the same approach would work well for the membership. But creating a detailed tutorial with video and/or live workshops every week was on a different scale. It was a lot of work and at times I felt like I was running on a hamster wheel.
Declining web traffic
Website traffic for 2025 from Fathom Analytics
Unsurprisingly, and like just about every other creator I’ve spoken to, organic traffic continues to decline year-on-year.
My website peaked in 2021 with around 2 million visitors and over 4 million page views.
And in 2025? Just under 1 million visitors and 1.3 million page views.
Unfortunately, I don’t see this trend reversing. Traditional long-form articles are in terminal decline. They’ll still exist and be useful as niche references, but they’ll never reach the scale of the pre-AI era.
Stalled newsletter growth
My newsletter growth has traditionally all come from organic traffic to the website, where visitors then signed up for my newsletter. With the declining traffic, this has led to a drop in newsletter signups.
There are still enough people signing up to mitigate the folks who naturally unsubscribe, so the newsletter audience is not shrinking. But it’s not really growing either. Something I need to address in 2026.
Personal Challenges
This year, I had a few sizable chunks of time on the sidelines due to health issues. One was elective—sinus surgery in March to improve my breathing—but others were definitely not. I had a bout of pneumonia that landed me in hospital in May. And, in general, my anxiety has been much worse this year than ever before. It crept up before the surgery and has never really gone away, sustained in part by what’s going on in the wider world.
Unfortunately, the pneumonia in May resulted in us missing our big trip of the year to visit my UK family. We had a wonderful trip planned to go hiking in the Austrian Alps with three generations of the Collins family. So it was particularly devastating to cancel this trip. It’s so hard to get everything lined up and our window for doing a trip like this is finite.
Again—and I write this every year—the other big challenge of the year was balancing parenting with the rest of life. My wife and I both run our own small businesses and share the parenting load. We’re also both fanatical about staying fit and healthy. But it’s so tricky impossible to balance these competing demands with our limited time and energy. We try though! 🙂
Looking Forward To 2026
Work Goals
I’m excited to work on some new courses again this year and continue teaching the Modern Google Sheets workshops.
I’m aiming to run at least 4 launches this year:
Q1: New course 1
Q2: relaunch the live workshops for Modern Google Sheets
Q3: New course 2
Q4: Black Friday and Modern Google Sheets live workshops
What are these new courses?
Well, the first one will focus on Gemini and building agents and AI automations for Google Workspace. It won’t be exclusively about Sheets.
And I have a few course ideas for later in the year, so we’ll see how things pan out and what makes the most sense.
Non-Work Goals
Visit my brother and his family in Australia and take a hiking/packrafting adventure trip together
Status arrows are little up or down symbols added to data that make it quick and easy to understand what’s happening. They’re a useful way to highlight changes in your data.
Consider the following sales data which has a % change column:
Now take a look at the same data with colors and arrows added to call out the % change column:
It’s significantly easier/quicker to read and absorb that information.
How to Add Status Arrows
Hidden in the Custom Number Format of Google Sheets is a conditional formatting option for setting different formats for numbers greater than 0, equal to 0, or less than zero. This can be used to show the up or down status arrows.
Step 1. Highlight the % column and go to the custom number formatting menu:
Step 2. Copy and paste this custom number format rule into the Custom number formats popup:
[color50]0% ▲;[color3]-0% ▼;[blue]0% ▬
What you’re doing is specifying a number format for positive numbers first, then negative numbers and then zero values, each separated by a semi-colon.