home
Back in the Sandbox

Back in the Sandbox

AI-first development is making it once again joyful and eminently possible for anyone to create on the Web. It's a feeling I've missed since View Source became illegible, and a silver lining that's arriving just in time.

The Web that was

Like a lot of my contemporaries, I got my hands in this web development business sideways. For me it was a hobby in the late 90s and early aughts, more about the spaces and communities I wanted to create and participate in than about any skillset I sought to acquire. Certainly I didn't think I'd be professionally occupied with it for most of my adult life.

"View Source" really was the magic behind it all — anyone could just pop open the cowling on any site and see exactly how it worked. And anyone could steal, remix, and make their own, with a toolset as unremarkable as Notepad and the "Save As" command on a local PC.

And that early Web brought us the lowest-friction distribution of all time — anyone could publish, anyone could find what was published. Yes, there were tools, and gatekeepers, and rough edges; yes, in practice this looked more like MySpace than a home server for most of us; yes, these were Simpler Times; nevertheless — it was so much fun.

High on making

I was always more like a script kiddy than one of the elite — whether it was FrontPage or WordPress or Drupal or phpBB, I entered the Web on training wheels and mostly just upgraded the training wheels until the going got so rough I considered myself more of a "former" web developer than a "rusty" one.

But going back almost 30 years, training wheels or no, there was so much joy in the making that I couldn't stop standing up small projects. A personal portfolio in 7th grade, when I had absolutely nothing to exhibit; a directory of my friends, none of whom were online enough to appreciate it; a forum for young writers wanting to hone their craft; a zine which had only my best friend and I as both writers and readers.

I never considered myself particularly savvy, but a couple computer classes in high school and a bit of markup meant I could make something for any project that struck my fancy. And tinker, and share, and tinker, and share.

Losing the edge

Of course, web development by 2015, let alone 2025, looked very little like the decades prior. After a few career twists and turns, I wound up making small contributions to a substantial Node project in 2015, and felt like I was in an alien world. Build steps, linters, preprocessors, tests... the smallest changes and features felt like swimming upstream. Yes, I was rusty, and less technical — but also there was just suddenly so much to all of this. More tools, more conventions, more norms, more complicated development environments — just more.

I've been working professionally on the web platform in one capacity or another for all of the last decade, and I've grown more comfortable with the growing complexity — but that itch to just go play in the sandbox never came back. It felt like a chore. Even while getting to work on amazing things in Edge, working to improve the Web for all developers, and being privileged to grow our share and meaningfully evolve the web platform — I haven't thought of myself as an enthusiastic web developer for almost twenty years.

Weapons-grade approachability

The best tools don't feel merely "intuitive" — they feel inevitable. A hammer, a bicycle, a paperclip; they all feel closer to discovered than invented. From the jump I've loved HTML and CSS, and even tolerated JS, but I defy any non-computer scientist to tell me they felt inevitable.

With coding agents, I'm starting to feel that inevitability. I've been a skeptic on a lot of AI use cases for now, but the last few months have made clear the thin line between skepticism and denial.

Present company included

This blog isn't that complicated. It's 11ty (a thing I'd already tinkered with), pretty basic markup, not a lot of interactivity (most of which is purely ornamental). I'm not building Figma or VS Code over here.

I also wrote pretty much the whole thing in a few hourlong spurts of focus over the past week. Mostly on an ARM Surface Pro, occasionally on my phone.

I wrote zero lines of code (although I made a handful of small tweaks to the source); I manually entered zero terminal commands (except the occasional npm run build or npm start to test on localhost); I didn't even write the initial prompt (Copilot did that for me). Basically the only manual steps I took were buying the domain and changing DNS settings.

And I've been having a blast.

The fun bits

A completely human interface to (let's just start conservatively and say "web") development is a revolution in the obvious ways:

  • I don't need to know any HTML, CSS, JS to build. This is easier than FrontPage, easier than MySpace, easier than WordPress markup.
  • I'm not sweating build steps, syntax, framework choice, etc. (It's blissfully freeing to be unshackled from frameworks just by asking in my prompt.)
  • Using inference everywhere has impossibly good ergonomics. I don't need to git add, git commit, git push. I just say "push" to an agent and off it goes, thoughtfully running all these tests it wrote before pushing (generated commit message in hand).
  • Hell, I can fix live site bugs or even implement features from my phone on the bus (just open an issue and assign to Copilot!).

But more than that, it's unshackled my brain to play with design, layout, and (with more controversial generative AI tools, uh oh) even art styles.

Like many of us I have always been a "think by writing" type; putting words to paper is a process that forces clarity to emerge (or forces you to confront its absence). I never really got the hang of that loop in my own source, and even when I did, the friction of refactoring kept me from really enjoying play with different designs even in the Good Old Days.

Now I can tease out ideas and play with them in localhost (or prod! why not!); it's as easy as an IM conversation with my agent. And the ideas go into the spec, and I review and revise the spec, and the spec feeds the implementation; and then we run it in reverse and the implementation feeds the spec...

The iteration loop is viscerally satisfying; so much so that I immediately fell in the old blogger's trap of spending hours gleefully tinkering instead of having anything to say. So I did eventually fire up the editor to write this missive. (I'll stubbornly refuse AI's help here; we all have our sacred domains where the act of creation must remain human, I suppose.)

Gutenberg wept

I'll need to write more later on this, but suffice it to say, the unintended consequences are surely marshaling on the horizon.

For one, while I'm having fun, feeling energized, and yes, even learning — I'm also getting lazier and dumber in ways that can't be great. Should I really be too lazy to write my own commit messages? Maybe that's defensible, but should I really be burning tokens just to say "push" when I'm fully capable of git push and its siblings?

For another, the ecosystem effects are... complicated? I do feel like we're on the precipice of a larger and more sophisticated wave of indie publishing than even the early Web — if only because the insanely low barrier to entry makes it feel inevitable.

But, that's happening concurrently with a collapse in reasons to publish: it's harder to make money with words than ever; it's harder to be found than ever; and for every good (or at least, Mostly Harmless) actor who wants to create, legions of agents will be orchestrated toward more nefarious ends. (Bullshit factories, slop farms, and all your least favorite SEO tricks can now operate at scale and cost efficiencies that would make Gutenberg weep.)

There are no brakes on this train. So I hope we can (and my most feverish passion in my day job is to try to) nudge the course towards a better Web, more egalitarian (and joyful!) creation and publishing, and maybe even commerce that isn't a total miasma of shit. We'll see.

In the meantime — I'm just so glad this is all fun again.