For the sake of recording this journey—for myself as much as for anyone else—I wanted to pause and take stock of the adventure I’ve been on over the past year building Skysquare. Coming from the martech and content/creative world, I am not especially well versed in the mores and folkways of app development.

But as a technologist observing the ecosystem broadly, I have gathered that one of the best and most proven ways to navigate this process is to “build in public.” I am finally reaching a point with the application where I feel able to begin doing that in a way that might actually be useful to other people.

Before I commit to that practice, however, I feel the need to set down some background context—to explain how I arrived here, what made Skysquare imaginable to me in the first place, and why I decided to build it.

Largely because I am not a formally trained developer, I did not quite understand the scale of what I was getting myself into when I started building last summer.

Like many other people, I suspect, I have now worked through the necessary stages of grief and come to terms with the fact that generative AI has more or less signed the death warrant of the industry I came from—or, at minimum, ushered in a new paradigm that has radically devalued many of the skills and services that once defined it.

Much of what we used to sell at Symbolscape as specialized expertise became cheap, immediate, and widely available the day ChatGPT arrived. The work did not disappear altogether, but its economics, its hierarchy of skills, and its basic assumptions changed almost overnight.

What may be somewhat unusual about my response to this transformation is that I leaned into it more optimistically than many people in my field—all of us folks doing intellectual labor in creative industries—who understandably experience the transformation as a kind of dispossession.

I have always had an early adopter’s disposition. Throughout my careers in corporate filmmaking and content marketing services, I spent nearly as much time thinking about the technologies used to capture and deliver messages, organize attention, and create audiences as I did about the qualities of the content, semiology and communications strategy itself.

So while, yes, I endured the same low-grade depression that seems to have settled over much of the creative and knowledge economy, I did not treat AI solely as a force threatening to make my previous work obsolete. I also became intensely interested in learning how to use it—and in understanding what it might allow someone with my particular background to make.

I first began to understand the power of these tools to replace my own cognitive labor after putting OpenAI API keys to work in Google Apps Script and using them to generate and transform material inside a few spreadsheets.

Around the same time, I discovered that Warp—the terminal app I was using to manage our clients’ martech stacks—had generative AI standing in reserve. So I began tinkering with simple applications on my own machine.

The first was an extremely mundane utility. Using an existing Python library, I made a tool that could assemble pages from multiple PDFs into a single document. A boring production task that once required an hour of rearranging files in InDesign could suddenly be completed with a short command.

I had also begun using OpenAI’s Whisper to transcribe recordings of client calls, extract meeting notes, and summarize ideas. From there, it occurred to me that I could probably build a simple application that transcribed videos and generated subtitles in multiple languages.

So naturally, I built that too, and I was even able to incorporate an FCPXML export—Final Cut Pro’s interchange format—so the transcript could be imported into an editing project with every line anchored to its original timecode.

I was doing these little projects ad hoc, without any organized intellectual framing, until the epiphany arrived in what I came to call a “holy shit” moment.

After all the grief—after a vertiginous season of not knowing what the hell I was going to do with my life, now squarely middle-aged and confronting the prospect of having to learn everything all over again—the tinkering and marveling at this genuinely miraculous technology finally resolved into a moment of crystalline clarity. To wit: "Holy shit. The tools now exist for me to build essentially whatever I want!" I wrote about this in a LinkedIn post last summer:

And I don’t just mean making an AI movie or writing the first Great American AI Novel—though I could probably do those too. What I realized is that I can create any kind of app I want... I can simply open up a GPT, describe what I want in English, and these systems will work with me to generate a working application.

That was the exhilarated version of the realization, expressed in the ecstatic glow of the epiphany only moments after it arrived. It would take the following year to teach me how much complexity could be concealed inside the words working application.

I grew up in Silicon Valley, developed a career working with plenty of technology clients, and was surrounded by an ecosystem where turning an idea into software appeared to require venture capital, engineering talent, institutional connections—and an industrial-strength nose-pinch for wading through the muckety-muck of startup culture.

Through some early attempts, I learned that even when an idea itself was good, assembling the money, expertise, relationships, confidence, and sheer cognitive and emotional labor required to bring it into existence was prohibitive. So the ideas remained ideas, and I continued building a career in content and communications.

My “holy shit” moment was thus not simply the realization that these new tools existed. It was the realization that the entire structure of constraint had suddenly changed. I could describe what I wanted in ordinary language and work through the problems iteratively with agentic development systems that gave me access to a breadth of technical knowledge and implementation assistance I could never have afforded to assemble around myself. For the first time, I could begin testing the ideas on my own.

No engineering organization to assemble. No gatekeepers to persuade. No venture-scale, 10x-return horizon required to justify whether an idea deserved to exist. The underlying complexity of building my own application had not disappeared. But the barriers to entry I had internalized—the ones that had stopped me from trying before I ever began—had suddenly fallen away.


A second thread was converging at the same time. As AI upended the arc of my professional life, I was becoming increasingly disenchanted with the way enshittification and platform monopoly were distorting the arena of American public discourse.

Early in Twitter’s history, I built a small application that converted RSS feeds about U.S. senators into posts. The project is still visible at x.com/QuorumCall, and I still hope to revive it someday for ATProto and Bluesky.

That experience gave me a front-row seat to some of the magic of the social web in its “golden age.” News items surfaced by QuorumCall were regularly retweeted by senators, congressional staffers, journalists, and D.C. politicos.

That was thrilling—if also somewhat frightening at first. It may seem commonplace, even boring, today, but before social media, directly engaging with people in powerful positions still felt unusually fraught.

In the larger picture, however, what mattered about that era was not merely that we could poke the people in power, or that unofficial information, insight, and analysis could suddenly travel at great speed—although it certainly was those things. More importantly, it felt as though everyday citizens’ contributions to public discourse had finally begun to matter. Their observations could enter the same visible, shared informational space as those of journalists, public officials, institutions, and political professionals. For a time, it felt as though we were all participating in—and able to see—more of the same public conversation.

We had something resembling a shared cultural and informational backbone. We were collectively metabolizing the news—reading it, interpreting it, arguing over it, and carrying it into the institutions where decisions were made.

At its best, that process seemed capable of producing better discourse, more responsive leadership, and better policy. And while I completely accept that reasonable people can disagree about whether this is too rosy a view of what the social web once made possible, for a while there it certainly felt as though the voices of civil society had a more meaningful role to play in how the world worked.

Until, and then, and suddenly: they didn’t.

Elon Musk’s acquisition of Twitter made the underlying vulnerability impossible to ignore: what had come to function as a kind of public infrastructure remained a privately owned system that could be rewired, almost overnight, according to the interests and impulses of a single person.

Like many of you, I suspect, I came to Bluesky hoping that some part of the original promise of Twitter’s golden era could be salvaged—and perhaps even improved upon: a genuine public sphere, a shared and interoperable space for discourse not wholly captured by platform monopoly, algorithmic manipulation, or the commercial logic of attention.

And I also came here hoping to begin building something that might contribute to the next version of it—something grounded in the open web, public conversation, and the possibilities that a genuinely open technological foundation could offer to civic life.

With all of these threads converging at once—and with me becoming increasingly dissatisfied with Bluesky as a one-to-one replacement for the information-consumption habits I had developed on Twitter—the idea for Skysquare began to take shape in my imagination.

Armed with this newfound toolkit—and suddenly recognizing the extraordinary coincidence of possessing these particular ideas, interests, and resources at precisely this moment—I set to work building Skysquare on July 4th, 2025, with only the faintest understanding of what I was getting myself into.

What followed was a considerably more complicated education in software, infrastructure, cost, scale, and the distance between making something work and making it work reliably. That is the next part of the story.