For the past 18 months I’ve been building as part of a squad we call buzzard. I first wrote a reflection on the experience six months ago. Another half year has uncovered new practices, questions, and potential directions of exploration.

One shape of this collaboration is a live, recorded zoom call with one person driving and everyone else participating in various ways. Sometimes that’s mocking up a component in Figma, looking through documentation of a library, pasting a code snippet, scribing notes, or offering feedback and questions. There is no person in charge of what gets built – it’s emergent on the intersection of past sessions, who is present, and what wants to be exist.

This collaboration isn’t limited to code. We’re comfortable sharing brain time while mind-mapping in Figjam or Excalidraw, designing in Figma, writing lore and copy in Notion, or scaffolding a Discord server.

This post is mostly focused on the reflections of a technical session where I drove in VS Code. During the session we onboarded our friend Jordan into the project’s stack and then got our hands dirty with building a React text input component for prompty. Full video below.

what makes this so interesting?

  • there’s a lot of laughter. debugging react component state and css rendering issues can be a slog and it’s far more fun to go at it when we can be silly. since we’re all just genuinely excited to be working with each other it makes the frustrating parts far less frustrating.
  • there is space for differences. no two of us are alike, but we’ve been learning each other’s languages and and building styles. Everyone’s input is given space and we don’t settle for something until we’re all satisfied with it (or satisfied enough to put it down, for now).
  • we share the technical weight. I’m no react wizard, but having one watch over my shoulder as I puzzle out architecture is like receiving a power-up for my brain. I am happy to share my experience with debugging local environments. Everyone has something to teach, and something to learn.
  • context about decisions is shared and recorded. this avoids putting an entire map of how (or why) something is implemented onto one person and spreads the responsibility of decisions. if we’re confused as to why some code is the way it is, there’s an increasing chance we have video and notes that can help dispel confusion.
  • it enables rapid iteration & prototyping. though we have dedicated design sessions to figure out what we’re building, often times implementation reveals complexities or possibilities we couldn’t see before. Being able to switch between design & build modes with the same people on the same call speeds everything up.
  • we invite people to build with us. whether someone is curious to see how we work or just want to understand how a particular component, we think building with the garage door up will ultimately be a net benefit to inviting them in to play.

Player 2 has joined: AI

Between Midjourney for images and Github Copilot for code, we’re becoming comfortable welcoming these new tools into our creation process. It’s like inviting another person in, except they are the faceless mashup of hundreds of thousands of people, identities, and styles – all coming in through a single pipe, never tiring, and sometimes producing utterly unhinged output.

The models are inherently social. Midjourney and its ilk are trained on billions of images from the internet. Copilot comes from OpenAI’s GPT-3 and the sea of open source code on Github. Even the development of Midjourney is done in a social arena – all quarter million users can see everyone else using it in a single Discord server with weekly open calls offering a view into the team’s challenges and plans.

As an individual user, these models are particularly potent. Having it insert a dozen lines into my code editor at once feels aggressive, like an overpowered sports car burning rubber at the touch of a pedal. And like a supercharged vehicle, it can be intimidating to get behind the wheel and drive.

Sharing this experience allows us to develop a healthier relationship with these tools - learning how to prompt it in more effective ways and sharing the responsibility of discerning what it returns. A shared group brain for interfacing with the shared group brain.

the future of building

I leave these sessions feeling like I’m getting a peek at the future of building: inherently social, cross-domain; in symbiosis with artificial computer intelligence and social human intelligence alike. Less building in isolated basements, more on shared open stages; welcoming learning and participation from a broader set of people, ideas, and perspectives.

I believe software can be stewarded; assembled like a shed rather than hammered together on a mass production line. I’m excited to treat software like a community garden: embedded in an environment, nurtured through seasons, and energy-giving instead of energy-draining. And as much as possible I’d like to continue practicing and exploring this style of building together.