Site icon John Battelle's Search Blog

We Dream of Genies, But Will Big Tech Let Us Use Them?

Last night I dreamt I was merging onto a rushing freeway. My on-ramp was far too short, a concrete embankment hemmed me in to the right. Faceless, speeding vehicles filled the lanes; integrating with them would require icy determination and perfectly executed timing. Missing the merge would bring certain death. The dream began after the point of no return – I was already accelerating into the flow, braking was not an option.

Do, or die.

My “writing brain” is often active during dreams, and as I sped toward that critical merge, a detached third-person narrator considered the meaning of my situation. This narrator simply knew that the speeding vehicles and the freeway itself represented the political economy of techno-capitalism – amoral, headlong, impersonal and ruthless. It also knew that my current reading of Sven Beckert’s Capitalism informed this perception – it’s a devastating history of the progress and the damage wrought by a revolution centuries in the making.

But what was I doing on this ramp, accelerating towards either certain death or exhilarating integration? My narrator had no theory on that question. I was simply acting. I looked over my left shoulder – an 18-wheeler barreled toward my path, I’d have to punch it and swerve in, hoping the truck would relent just enough to let me assimilate. I closed my eyes, floored it, and executed my play.


We’ve seen this plot before, but not executing at this speed.

That comment, left on my last post by a Professor of Entrepreneurship at Michigan, neatly sums up how I feel about the moment we’re in. He was responding to my observation that we’ve seen periods of extreme openness and experimentation in tech, but they’re always followed by consolidation and lock-in by corporations that leaves the ecosystem feeling poorer and less innovative. Today’s moment just feels much faster, and far more consequential.

Moving this fast is both exciting and troubling. It’s impossible to not break things at this speed. On the one hand, playing with AI feels exactly like the days of the early web – everybody’s tinkering, experimenting with new ideas and imagining new possibilities. But the pace is exhausting, as is the code-switching required to work with a strange new form of intelligence. We’re not taking the time to consider externalities or unintended consequences, and it often feels that we’re hurtling forward, slightly out of control, hoping it’ll all work out.

That dream is starting to make sense.


I started tinkering with Claude two years ago, but got serious about using it for projects just last year. One of my first ideas was to build a full-text database of everything I’ve ever written on this site. I’d then wrap that corpus with Claude’s chatbot interface. My goal was to use Claude to identify themes, arguments, and inconsistencies across the more than 1.5 million words and 5,800 posts I’ve written in the nearly 25 years since starting this site.

My initial attempts at building the “Searchblog Query Engine” ended in frustration and failure. Claude kept telling me it was possible, but I found it difficult to follow the steps it laid out – the technical chops required were beyond my skillset (and patience). I tried again this past January, after the release of Opus 4.5, and got much closer. At that point my issue was complexity – Claude wanted to do something called “vector embeddings” using OpenAI’s API. That made me nervous – I don’t like the idea of becoming dependent on anything from a company I don’t trust. After a few hours of noodling, I once again abandoned the project.

Earlier this week, I set out to try again. Instead of picking up from three months ago, I started fresh. This time Claude took a much more streamlined approach, walking me through the technical bits with patience and clear instructions. OpenAI’s API never came up  – I could use Claude’s instead. I knew just enough about API keys, the Mac’s Terminal application, and how scripts work to follow along.

45 minutes later, this was live:

I mean…holy shit. 


In less than an hour I built myself a tool I’d been dreaming about for years. What else might I build? What else might others build? Might this augur a world where tinkerers and dreamers once again lead us into an optimistic future, a future where platforms add more value than they extract? It’s hard to not hope for such an outcome, but harder still to reconcile such dreams with the present-day realities of platform policies, incentives, and power.

Toward the end of the Searchblog Query Engine project, Claude and I identified what felt like an interface bug. Each time I wanted to run the engine, I had to first open Terminal and execute a line of code. That felt non-intuitive, so I asked Claude for a workaround. “I can write you a small launcher,” Claude answered, “a double-clickable icon on your Mac desktop that starts the server automatically, so you don’t have to touch Terminal at all. Want that?”

“Hell yeah,” I responded. This would effectively turn my new creation into an app that lived on my computer. How cool is that?! Claude obliged, and a launcher called “Searchblog.command” just…appeared on my desktop. Huh, I noted, this is new. Claude now had root level access to my computer. That’s cool – I trust Claude and the work we’d done together.

But when I double-clicked on my new app, Apple begged to differ:

Apple gave me two choices: Move Claude’s offending piece of code to the trash, or hit “Done,” which ignored it altogether. Apple had taken control of my project, and left me unable to use it.

I have a fair amount of experience with how big tech platforms control access to their platforms, and while Apple’s warning was defensible, not offering me a way to bypass its prohibitions was inexcusable. Who’s in charge here – me, or Apple? I was on the final step of creating something I was genuinely excited about – a true bicycle for my mind, in fact – and Apple was treating me like an errant child.

I uploaded Apple’s admonition to Claude, which told me that Apple’s new MacOS, called Tahoe, “tightened Gatekeeper significantly.”

That got my attention. “What do you mean by “tightened Gatekeeper?” I asked.

“Gatekeeper is Apple’s system that checks apps and scripts before letting them run,” Claude responded. “It’s been around for years but each macOS version has made it stricter.”

Claude offered a workaround in Terminal, which I ran, and now the Launcher works flawlessly. But that experience left me a bit shaken. There’s an hidden world of code constraining what most of us can and cannot do with technology, and as we’ve seen again and again, those constraints almost always favor the business models of the tech platforms who enforce them.

I’ve researched and written about these constraints for years. But this one small example was the first time I’ve directly encountered their bite. As the world adapts and merges with the capabilities and complexities of AI, I’m certain it won’t be the last.

You can follow whatever I’m doing next by signing up for my site newsletter here. Thanks for reading.

Exit mobile version