I found Frontier in 1995 when I was living in Amsterdam (another story), and was trying to figure out how to automate dialing into my ISP at night while I was asleep and phone charges were cheap. I wanted to sync my email at night so that I could stay in touch with my people in the US with as little cost as possible.
I bought an inexpensive Mac Performa 360(?) at a local swap-meet, and quickly discovered, quite by accident, that I could get onto the internet over dial-up, and that there were web servers and web sites and it was all very new and strange and cool. The tools were arcane and hard to figure out, but they worked. The very early web was a mix of nerd, newsey, techie, and social place. I’m definitely a nerd, but I also care about humans in general, and that was the spirit of the space that Dave had been trying to build: Humans matter and the ways they communicate matter. Opinions matter, and the networks of opinionmakers matters. Product ideas matter and we should value experimentation with a foundation of standards – Fundamentally, Individuals matter and we should all have our own voices and platforms. That stood out to me. It resonated with my own values, and I jumpted onboard.
When it comes to UserLand, I’d already been using and programming in Frontier for about five years before finally joining the company as a developer in 2000. I had already used Frontier to build test automation tools and build tools at Sonic Solutions, (pre-Jenkins-era infrastructure). I’d used it for side projects like the CMS for my first website at jspace.org — an “online journal” (before the terms Weblog and Blog existed) — which was built on UserLand’s website framework. And I was using it as a web-dev at Macworld in 1999 where I contributed to their web publishing workflows and search engine.
In 2000 I joined UserLand as a developer with Dave Winer as CEO, Brent Simmons and Andre Radke as developers. Frontier was the runtime that enabled Manila and Radio UserLand, both of which were important in the early blogging era. Radio was also one of the first end-to-end podcast-enabled products, back when podcasting wasn’t even a category yet. I ended up as the lead developer and release engineer behind Radio’s launch after the initial prototyping that Dave and Andre did. A bit later on I contributed bits in Manila and Radio UserLand related to the Creative Commons work that grew out of the Berkman Center at Harvard, where Dave was a Fellow at the time.
I’ve wanted try to modernize Frontier for at least ten years. I had a long-tail of things I’d wanted to do inside UserLand before leaving for Microsoft, and since the Frontier kernel was open source it was always possible — at least in theory. But I never had the right combination of available time and C-coding chops, and I lacked familiarity with the deeper parts of the C-based Frontier/UserTalk runtime for it to be a realistic thing to attempt. Brent tried a few approaches and eventually gave up, which says something about the size of the job. (A half-million lines of legacy C code would scare any normal person who valued their personal life, emotional stability, and sanity.)
The Frontier kernel was started as 16-bit Mac application that ran on legacy Mac OS I think around System 5 or System 6. It was eventually migrated to be 32-bit native and depended on the original Mac Toolbox and later the Carbon API, and basically legacy everything. Today the only build of Frontier that still runs is the Windows version which was released in 1997. When I started this, it couldn’t even be compiled and packaged for macOS because the runtime core wasn’t 64-bit native. It included a rich text editor that was licensed at the C-library level and which was no longer maintained. It had a script compiler based on YACC. It had a database format that relied on 32-bit architectures… and on and on and on…
An intractible problem for a single developer who wanted desperately to pull this open source project into the modern era, but has a family and a full-time job. And then… AI coding tools arrived.
I first started discussing what this project might look like with ChatGPT around two years ago. We made a project plan. We figured out where the hard parts🐉 might be. We had a high-level project overview, but no ability to write the code yet outside of copy-paste, and no way to review the existing code en masse. (I was still considering starting the project myself anyway.)
Then Cursor appeared. Now there was an IDE with AI built-in. So I went to Cursor and fed it my ChatGPT-originated plans and asked it to inspect the existing code and create a more detailed plan. That got me to the next stage: A high-level multi-phase technical plan with more details and some idea about what order the work needed to be done in based on priority and dependency.
Then Codex arrived, and I was able to use it to do a lot of the 32-bit to 64-bit conversion (required to build for macOS these days) mostly autonomously, although it did have to have a number of revisits.
And then everyone I know who is using AI for coding was starting to talk about about Claude Code and how amazing it was… I resisted at first. Codex was doing amazing things for me, but it was also tripping up on a lot of stuff and I was starting to get frustrated and a little disillusioned, so I decided to try Claude Code CLI, and boom!💥 It blew up for me. I felt like I had a pair-programming partner with deep skills, broad technical knowledge, and the ability to implement whatever I envisioned as quickly as I could come up with ideas for what was needed next. I was leveraging my 20 years of technical program and project management in ways I would never have envisioned. (And which were never reinforced as valuable in my decades of work in the software enterprise world – again another story.)
I started creating agents first, and then skills, and then meta-skills and meta-meta-skills — all to help me work faster with fewer mistakes. I wired up workflows within workflows within workflows. Now a few months later, I’ve got a robust tool-chain with quality gates that makes this work happen mostly reliably and with very high quality, where I’m serving the role of strategist and architect, and my AI agents are my team, or sometimes multiple teams. I’ve even taught them how to read, write, test, and debug UserTalk scripts, something their training data would have only barely touched on, if even at all. I enhanced the Frontier runtime itself to make script editing and UserTalk debugging available to my agents.
The foundation has shifted. It’s thing now, that one motivated person with the right technical background and a clear vision can actually push forward on immense projects as long as they’re not stymied by legacy corporate processes. Not because the work is easy: It isn’t. But the leverage is different.
Frontier’s modernization might be one of the largest open source C-language projects in the world that’s 100% managed with AI by a single person. Research I did in April suggests this is the case, but that won’t be true forever since these models and agentic harnesses are advancing very fast, and I’m sure there will be more similarly large and complex one-person efforts soon if not already.
There’s a personal dimension too: In 2006, when I stopped being a full-time developer and moved into program and project management work, I shifted from technical delivery, to managing the work of the people who deliver technical things. Now I’m coding full time again — on Frontier and on ThreadFlow (a startup I’m building with a small group that includes an old Apple ][ hacking buddy from seventh grade who I’ve known for almost 40 years). And it feels great! Not only because I’m mostly my own boss again, but also because I’m working on passion projects: Building great products, with love, that people will enjoy using, and that provide real value in their lives. ♥️
Frontier for the modern world: Modern GUI, multi-user/multi-tennant system, security by design, and the ability to run all the old apps (maybe modernized versions of them) again — that’s the vision. And I also hope to help revive the pivotal community around Frontier that was inspirational to me, and an idealistic driver of the pre-enshitification vision of what the web could still become.
Stay tuned…


Today I saw on BuzzFeed via LinkedIn that Twitter will allow [some] employees to 
