Silicon Valley Technology Commentary & Archives · Est. 2006 3,037 Posts · 2006–2026

October 30, 2026

October 30, 2026 · 4 MIN READ · BY LOUIS GRAY

Our Imperfect Decaying Web Desires Permanence

Our Imperfect Decaying Web Desires Permanence

Broken hyperlink bridges alongside enduring pathways leading to a lit archive beacon [Image via Gemini]
Broken links vs. paths built to endure. [Image via Gemini]

On the web, there's not much more sad than a broken link. A fundamental promise of the web, and a defining characteristic of it, has always been that you can get from one point to another, with blue underlines guiding you to the next discovery. A link that fails is a broken contract between the source and the destination. The initial author who sent you the link promised you value, and the target address didn't pay out. It's frustrating for everyone. But this expectation of permanence, that once a link is published, it works forever, has proven to be a pipe dream. 

The Pew Research Center, in a 2024 study, found that nearly 40% of links from just a decade prior had stopped working, and fully 20% of links on the web failed within two years. An earlier 2014 Harvard study said fully half of links cited in Supreme Court opinions no longer went anywhere. While we've thought we were building a foundation of discovery, content is flowing out the bottom of the sieve practically as quickly as we can fill it, thanks to ephemeral design, social content perceived as lower value, and countless services that come and go.

Until recently, I was guilty of this, with my own blog being shuttered. I assure you, being a champion of the web, it felt terrible. But even when it would have been easier to start from scratch with another domain or platform, I held to an implicit contract with my past self and untold readers that I could only turn the lights back on when all my posts had been restored, and whatever links had been built in my direction would work again. Working with Antigravity and Cloudflare, I rebooted the blog, confirmed domain resolution, inherited the proper link structure, and even reattached old blog comments from more than a decade ago, due to my commitment to the bit. It's how the web is supposed to work.

But what about all those links I had curated, by hand, in my more than 3,000 existing posts? Reader, I have some bad news.

Screenshot_20261030-232732.png
Despite best efforts, thousands of links I made are gone forever.

I asked Antigravity to do a link audit and report of the tens of thousands of links I'd made over the years -- to other blogs, to companies, social profiles, news and all manner of destinations. Of the nearly 30,000 links, coming to under ten links per post, just over one third are dead, taking people on a one way ticket to nowhere. You can see that report here: https://blog.louisgray.com/linkaudit. 

So what happened, aside from good intentions and what not? 

Screenshot_20261030-233701.png
I don't know what I expected.

Unsurprisingly, the social stars of a bygone era are a big contributor to my amassing thousands of trips to nowhere. Almost 1,000 links to Friendfeed didn't do me much good after Facebook gobbled it up and smothered it with a pillow. Many of us walked away from Twitter (due to its toxicity or other reasons) and what was supposed to be a safe place to link ended up being a transitory target. Even Google, be it Reader or Buzz or what have you, hasn't been without its flaws. And that's not even getting started on all those Web 2.0 startups that didn't win, despite best effort.

Back in 2007, we had one of our first major blog skirmishes when I said "Internal linking on some tech blogs is out of control", as outlets used keywords to point to themselves instead of their topics du jour. But there's clearly value in it! If you can link to your own posts, at least you control the destiny, and it's up to you whether they still live -- like my 2013 post talking about "Tech's halflife and accelerating forgetfulness". As I said then, "History can be dull, yes. But it can also be fascinating." My hope would be that we build, together, a web that expects links to work and search engine (or AI queries) to return data that can be relied on to still work, not just months down the line but years.

So much of the web has gone dark, behind paywalls and login gates, that the content we push into the open web, aimed to enrich or discuss, inform and discover, should be designed for permanence. We're all very lucky sites like Wikipedia and the Internet Archive exist, to document and backup what we've built, but every time I try to visit an old blog that used to be a mainstay, or I see an RSS feed I long ago subscribed to just not resolve, it's another gap in our story -- another dry valve that used to flow. Let's try to fulfill this social contract, that when we build, we build for domains that last, paths that endure and content that stays up.

October 29, 2026

October 29, 2026 · 7 MIN READ · BY LOUIS GRAY

Webnerd.ai Levels Up with AT Protocol, Newsletters, Audio and more

Webnerd.ai Levels Up with AT Protocol, Newsletters, Audio and more

Webnerd.ai

When I debuted Webnerd.ai last weekend, the goal was pretty straightforward: bring back the fast, high-signal, human-curated morning reading ritual I loved in the heyday of classic RSS, updated for how the open web actually works in 2026. But just as much as I've enjoyed returning to that routine,  I've appreciated steering the roadmap with Antigravity. A decade plus ago, I'd point to companies that blogged weekly with their updates and bug fixes as leaders in their space, communicating to readers what was new. Now, I can make multiple updates daily, or make fixes in minutes myself -- and have even debuted a release notes section you can subscribe to from right within the app. It's an RSS inception, basically.

Over the last few weeks of living inside Webnerd.ai whenever possible, curating my shared stream and pushing links out to LG Stream on Bluesky, every "I wish it did this" or "I wonder if it could..." moment has turned into working code rapidly. Sean Goedecke, whose blog has rapidly become one of my favorites of 2026, published a piece today titled "You can just ask AI to do things", and honestly, there is no better summary of the world we live in now. If you can think it, you can build it.

Because things have moved fast since the weekend, here is a quick highlight reel of new features in Webnerd.ai right now.

First-Class Open Identity: AT Protocol OAuth, PDS Sync, and Standard.site

If you're going to build a home for the open web, you shouldn't lock people's reading identity behind a single provider. Current employer aside, I started with Google sign-in because that's what I knew. But in fast response to public request,  Sign in with Google now sits side-by-side with native Sign in with AT Protocol. Whether you use a bsky.social address or verify with your own domain like louisgray.com, you can jump straight in without extra modals or app-password gymnastics.

Refreshed Webnerd.ai welcome screen with 1-click Google Sign-In alongside native AT Protocol login
One click with Google, or bring your decentralized AT Protocol ID.

Even better, your decentralized identity isn't just a login badge, it carries your reading graph. Inside the OPML & Subscriptions hub, you can still drag and drop a classic XML file, or you can hit Sync PDS to pull decentralized subscription lists straight from your Personal Data Server across tools like Skyreader, Standard Reader, and Standard.site. Think about that for a second. Am I an expert on those? No. Could I work with Antigravity to build support here? Yes. So I did.

OPML & XML Subscriptions modal showing traditional OPML import/export alongside 1-click AT Protocol PDS sync
Classic OPML portability meets one-click AT Protocol PDS subscription sync.

Webnerd.ai also now speaks native at:// and standard:domain publications directly in the Subscribe dialog, and when you share a story from a Standard.site publication, Webnerd automatically writes a cryptographic site.standard.graph.recommend endorsement record to your PDS (and cleans it up if you unshare). Open standards work best when apps actually interoperate instead of just talking about it or seeing an acronymn as a checkbox.

Rescuing Newsletters from Inbox Purgatory

As much as I appreciate newsletter platforms like Substack and Beehiiv quietly keeping RSS alive under the hood, plenty of great writers still send email-only newsletters, and in my view, an email inbox sandwiched between flight confirmations, calendar invites, and shipping receipts is not the best place to read long-form writing.

Subscribe to Stream modal open on the Personal Newsletters tab showing a dedicated @webnerd.ai inbox address
Every account now gets a personal @webnerd.ai newsletter address that turns email dispatches into clean RSS feeds.

You can now open + Subscribe and switch to the new Personal Newsletters tab, and you'll find your own dedicated @webnerd.ai address. Use it when signing up for newsletters (or forward existing ones via Gmail filters or the included one-click Cloudflare Email Routing snippet), and Webnerd automatically spins up a separate, clean feed for each sender inside your Newsletters folder. Newsletters belong alongside the rest of your reading, not competing with work email.

Listening to Your Stream & Real Power-Reader Triage

Sometimes even my eyes need a break from screens, or I want to catch up on my feeds while walking the dog. Hitting the new Listen button in the top bar (or on any individual post) launches a docked audio player right at the bottom of your stream.

Signed-in Webnerd.ai power-reader view showing the top toolbar, granular Mark-as-Read menu, and docked Audio/TTS Stream Player
Listening through my morning feeds with the docked Audio & Spoken TTS queue.

If a feed item includes a native podcast or audio enclosure (flagged with an Audio badge), Webnerd plays the original audio directly; if it's a written post, it seamlessly reads the article aloud via a spoken Text-to-Speech queue with 1x to 2x playback speeds, an Up Next drawer, and automatic mark-as-read as each story finishes.

And because anyone subscribing to 100+ feeds may eventually face inbox-style bankruptcy, I've gone deep on power-reader ergonomics:

  • Granular Mark-as-Read: A new split dropdown lets you clear items Older than 1 day, 3 days, 1 week, or 2 weeks, or Mark above as read as you scroll — so you can declare peace on Tuesday's news while keeping this morning's stories untouched.
  • Folder & Subscription Management: You can now add, rename, drag-and-drop, delete, and merge folders inline or from a dedicated Manage Subscriptions view, toggle Newest / Oldest sort order, and pull Full Text readability views on stub feeds that only publish a sentence or two in XML.
  • More Classic Themes: Alongside Cloud Nine, Warm Sepia, and OLED Black, desktop nostalgia nerds can also switch into Mac Classic, Mac OS X Aqua, BeOS, and Green Android.

AI on Your Terms — Never Between You and Your Feeds

I wrote earlier this month about how filtertainment eviscerated our informed monoculture. The whole point of an RSS reader is that you choose the sources, and nobody hides a post  because an algorithm decided outrage would keep you scrolling longer.

Where AI does shine in a reader is synthesis on demand — when you explicitly ask for it.

Executive Briefing modal synthesized by Gemini 3.8 Flash across unread feeds
Optional Executive Briefings synthesize what happened across your feeds.

Tap Briefing in the toolbar (or hit B on your keyboard) and Gemini 3.8 Flash synthesizes an executive summary across your unread stream — scoped to your Last 100 items, Last 200 items, Last 12 hours, or Last 24 hours — clustering breaking storylines and citing the exact outlets in your subscriptions. Every expanded card also has an optional one-tap TL;DR button when a 4,000-word essay drops five minutes before your next meeting. AI acts as your research assistant, never your gatekeeper.

Mobile Overhaul, Instant Startup, and Eating Our Own RSS Dogfood

Under the hood, Webnerd.ai now boots through a single-round-trip bootstrap endpoint paired with a local snapshot cache for sub-16ms first-frame paint — so opening the tab feels instantaneous even on spotty mobile Wi-Fi.

On phones, we replaced cramped desktop menus with a thumb-friendly 4-tab mobile layout (Feeds, Search, Shared, and Folders), edge-swipe gestures, and a guided Add to Home Screen full-screen web app setup on iOS while I continue working on a native Android companion app - coming soon.

Mobile Webnerd.ai iPhone view showing the Add to Home Screen prompt, expanded card actions, and 4-tab bottom navigation
The redesigned four-tab mobile experience and full-screen iPhone web app.

Finally, you can't build an RSS reader and not publish your own changelog via RSS. Webnerd.ai now has an official Release Notes & Product Blog at webnerd.ai/releases, complete with a one-click + Follow in Webnerd.ai button and its own RSS feed at webnerd.ai/releases/rss.xml.

Webnerd.ai Release Notes & Product Blog at /releases with native RSS feed subscription
Eating our own dogfood: Webnerd.ai's product changelog lives at /releases with its own RSS feed.

If you tried Webnerd.ai over the weekend, or haven't yet, take the new audio player, newsletter inbox, or AT Protocol sync for a spin. If something bugs you or you have an idea for what an RSS reader in 2026 ought to do next, ping me on Bluesky — there's a pretty good chance Antigravity and I will have it shipped by the next weekend.

Disclosures, per always: I work at Google and use Gemini and Antigravity tools a lot. I built Webnerd.ai and this blog's CMS with Antigravity's help. Nobody at Google reviews my posts, ever.

October 24, 2026

October 24, 2026 · 5 MIN READ · BY LOUIS GRAY

Introducing Webnerd.ai: Classic RSS for Today's Web

Introducing Webnerd.ai: Classic RSS for Today's Web

Webnerd.aiIn the Web 2.0 era, I always started my day in my RSS reader. A mainstay of this blog at its peak was covering the debuts and new features from many different approaches to staying caught up on friends and the news, not just from Google Reader (RIP), but Feedly, Lazyfeed, Flipboard, TweetDeck, Shyftr, my6sense and too many others to mention.

In the ensuing years, as some of those products have come and gone or evolved, we've also seen that the open web is thriving in new ways. New blogs and countless newsletters on Substack, Beehiiv and Medium mean top voices are publishing incredible work every single day. But I have missed out on that classic RSS reader feeling. So I made my own.

Screenshot_20261024-114435.png
Webnerd.ai -- with the Cloud Nine theme.

With Antigravity, I can now transform my ideas into reality. It's called Webnerd.ai. I've been enjoying it myself for weeks, and I figure it's time to share it with the rest of you. I do not expect millions of users, but for those who love RSS, designed for power readers and sharers, I think you'll like it.

Screenshot_20261024-112745.png
Pick from many themes to browse with color.

For old-school RSS junkies, Webnerd.ai should feel really familiar. It features trends, you can follow other curators, see recommended items, and the basics you would expect, keeping feeds current and alerting you to new posts.

Screenshot_20261024-113818.png

Reading and curating the best of the web on Webnerd.ai.

Webnerd.ai is built in the spirit of the original open web: subscriptions to your favorite sources you trust, simple discovery, and one-click sharing, just like we all used to, including your own shared items, which has its own RSS feed, and even straight to Bluesky -- my preferred space (lacking the toxicity of others), but if you must, Facebook and X work too. I've been sharing as lgstream on Bluesky already, and it works great.

Screenshot_20261024-113228.png
My Webnerd.ai reading stats from the last 7 days

For those of you nerds (like me) who have OPML, bring it and get started. Or just pick from the many curated bundles I've spun up (with Antigravity's help) to start filling your feeds.

Screenshot_20261024-115517.png
Webnerd.ai comes pre-loaded with content. You can preview the feeds and subscribe.

What's in Those Curated Bundles

Every feed in these 12 bundles has been verified for active publishing so you can preview the stream and subscribe with a single click. On day one, here are the 128 voices powering our launch bundles:

To get started, sign in with your Google account at Webnerd.ai, grab a bundle or two, and start reading and sharing. Webnerd.ai works great on desktop, and mobile continues to get better! Android app soon. See you in the feeds, and let me know what you think.

Disclosures, per always: I work at Google and use Gemini and Antigravity tools a lot. I built Webnerd.ai as a fun personal project with Antigravity and Gemini on my Googlebook. Nobody at Google reviews my posts, ever.

October 17, 2026

October 17, 2026 · 6 MIN READ · BY LOUIS GRAY

How Antigravity Brought My Blog Back from the Dead

How Antigravity Brought My Blog Back from the Dead

AntigravityI am not an engineer and I didn't major in computer science. There comes a point in understanding and using technology where I have a limit, and even with my years of experience in Silicon Valley, it's not impossible to run into issues that I just can't solve.

After a failed attempt a few years ago to move my blog to a new host and restart it on Wordpress, following general bit rot and content decay, the blog went completely dark -- an embarrassing development if I ever tried to point people to old stories or reference previous work, forced to look at my Blogspot backup or the Internet Archive to find some old content or try to prove my one-time relevance. 

While the world of blogging has changed in the last decade plus, my complete lack of new content wasn't an issue of a lack of ideas or a lack of time to write. It was straight up broken and I'd just about given up on getting it fixed, unwilling to turn my back on 3,000 posts only to start over somewhere else from scratch. But each attempt I'd make to run Blogger to Wordpress importers or adjust DNS settings failed. Until I turned to Antigravity.

Screenshot 2026-10-16 8.06.32 PM.png
My initial prompt that started the rebuild.

Antigravity is Google's AI-centric software development platform - very similar to Anthropic's Claude and OpenAI's Codex. Each of those products has its own champions, but the purpose is roughly the same. Simplify the ability for people to create, and leverage the latest models to understand user intent quickly and build smartly. I use Antigravity all the time at work, so with the new Googlebook being designed explicitly for working with Gemini, I thought I'd ask Antigravity to tackle this major project, and it didn't blink.

Screenshot_20261016-191925.png
Rebuilding the blog, to me, meant fixing everything.

My expectations were initially low, as they often are after having tried the same thing over and over and gotten absolutely nowhere. I told Antigravity I wanted to rebuild the blog at the same domain and bring along my 3,000+ posts, along with all the images I'd used in those posts. I also needed to not just recreate a frozen point in time, where I had left off in 2019, but have a foundation to keep going. I didn't expect it to work, and I definitely didn't expect it to work so quickly.

Antigravity asked me a few questions, such as where my domain was currently hosted, if I had my Blogger archive from Google Takeout (I did), and how I wanted my domain setup. As Antigravity, using Gemini, churned away, it very quickly sussed out exactly how to solve my DNS issues and found me a new host in Cloudflare, which enabled easy read/write from Antigravity, and we were able to import my blog history. Not only did it very confidently tell me what was needed, but it guided me to which pages and options to choose from, both in my old host and my new one, that I needed to get what I wanted.

After seven years without posts and years of the domain just absolutely not working, I had my blog back to life, with all historical posts, in about two hours.

With that major milestone out of the way, I asked Antigravity how I was supposed to make new posts, and did my Cloudflare installation come with a content management system (CMS)? Reader, it did not.

Screenshot_20261016-192212.png
Showing a blog CMS while in the CMS is so meta, but Antigravity built this.

Antigravity didn't miss a beat, saying, would you like me to build one for you? I said yes. So it made one. I logged in and saw it didn't have any of my old posts automatically saved, as I would have expected. Not a problem. I asked Antigravity to add them, and it did. I had gone from a totally dead domain and buried blog to a live domain and a blank slate to start over and make new posts again, without any missing history. I was no longer blocked.

From there, the only limitations have been what I ask for. Like any good blogger, I got to optimizing the look and feel of the site right away, asking Antigravity to feed me some new modern layouts and color palettes for 2026. I asked it to build in full-feed RSS, to supporting subscriptions and the open web. It rebuilt all my static pages, my yearly archives, and keeps a live count of total posts from my very first attempts back in 2006. It added a native commenting system and imported conversations from decades past, successfully. Antigravity also understood my previous style, and we've stuck with my tradition of the 125 x 125 image at the top left of posts to signal what each post is about.

Should something surprise me, or act in a way I didn't expect, I just go back to my ongoing conversation with Antigravity, and provide that feedback -- if posts aren't displaying how I expected, if numbers don't change, or basic functionality, like saving drafts in the CMS, had been missing from the first round.

The speed of creation and iteration and improvement is really unprecedented, and hasn't required daunting technology hassles. As I come up with ideas for the blog's functionality or its CMS, I just ask Antigravity. If Antigravity needs approval for permissions, I get the option to grant or deny them, and often found Antigravity giving me options to choose from, with a give and take that always leaves me in control.

Screenshot_20261016-192452.png
Antigravity understands my input and takes action, with intentional follow-up.

Like I wrote last week, the opportunity to use natural language to simply build, or what some call "vibe coding", is changing our relationship with developers. If you can think it you can build it. Spoiled by my work environment, I was excited to see Gemini 4.0 (Argon) make its way into Antigravity this last week, making my conversations around this project (and others) even more in depth. And before you ask, yes, I pay for Google's AI Ultra subscription, and no, I don't have a discount. Having Antigravity available to me, with the latest models, baked into my Googlebook, is an absolute must in 2026.

I don't expect to come back to hundreds of posts a year. I'm not in the breaking news business and the world of social media alongside the consolidation of tech journalism has significantly changed how we all find and share news. But I am more excited about what we are all able to do with AI-assisted development than just about anything I've been involved with in years. I've come to the belief that yes, Antigravity can do just about anything. It's only waiting for me to ask the right questions. It's good to be back.

Disclosures, per always: I work at Google and use Gemini and Antigravity tools a lot. I wrote this post by hand. I made this blog and CMS with Antigravity's help. I paid for AI Ultra and I paid for my Googlebook. Nobody at Google reviews my posts, ever.