Inspired by my co-founder Warfa's recent introductory post, I decided it was time to tell the story of my own journey over the last couple of years. The audience of this essay is friends and family, or whoever else, for whatever reason, is curious about this (rather personal) journey I'm about to share.
Death of a startup
18 months ago, I shut down my last startup, Haiku Systems Inc. Our mission was to "Unify design & code — to unlock new creativity." We battled it out for a few years, pivoting a couple times. Our most loved (and remunerative) product was a design tool called Haiku Animator, which is now open-source, though unmaintained.
Have you ever had an opportunity come along that feels like it could change your life? Some goal you’ve worked toward for years, which one day is within your grasp — you just need to win this one battle. A linchpin that, if removed, will catapult you toward your life goals.
For me, Haiku was that opportunity. My career aspiration had always been entrepreneurship. Back in 2018, after over a year of slog with my co-founder, we managed to assemble a team and develop a scrappy, revenue-generating product. Based on that progress, I was able to raise a $3M seed round from Silicon Valley investors.
This was my shot.
Maybe, like me, you’ll do whatever is necessary, bound by your moral compass, to seize such an opportunity. Long nights, lost sleep, emotional turmoil, gray hairs. Cursed and blessed with more than my fair share of tenacity, I remember resolving to myself: "Haiku will survive." And survive we did, for several years.
The problem: I was so intent on Haiku surviving that, when faced with difficulties and the need to pivot, I compromised on ambition. The path to survival is to be less ambitious. And through an insidious blend of execution errors, leadership discord, and bad luck, we pivoted multiple times.
In mid-2021, over the backdrop of the pandemic, and after my co-founder and I parted ways, I finally recognized that Haiku was in a death spiral. We no longer had the capability, financially or in morale, to exploit any opportunity that might come our way. So, I pulled the plug.
And I started reflecting.
From the rubble
The problems with Haiku began when my co-founder and I didn’t see eye-to-eye. We disagreed about what we should do as a business, and we separately did our own things, made all the easier by being 100% remote. As CEO and tie-breaker, ultimately, drilling into this misalignment was my responsibility, and not doing so was my most fundamental error.
Our misalignment culminated in a product that wasn’t quite made for anyone, with too much complexity, with a dead-ended trajectory — it was making money, yes, and it was serving a niche use — but this was not what any of us had signed up for.
We needed to pivot, and this was the end of the road for my co-founder and CTO. The problem: with him off the ship, we were left without an inventor, which ended up being a very difficult role to replace mid-voyage. Meanwhile, Haiku: the company, the strategy, the mission, "to unlock new creativity" — they were all predicated on invention.
It turns out it’s exceedingly difficult — maybe impossible — to delegate the core, atomic act of invention.
But I could see this only in retrospect, from the rubble.
Renaissance
The pandemic brought mortality closer into focus for many of us. Haiku played out over 14% of my expected lifespan.
The mission that has guided my life's work so far, to unlock new creativity — to empower creative expression on screens, to bring the interactive digital medium closer to art — still had an inexorable draw.
Yet I could be dedicating my life's energy to taking on global hunger! Disease! Climate change! Agriculture, infrastructure, human rights — the list goes on.
So I stepped away from the problem. I visited family across Europe, North America and Asia. I proposed to my ever-supportive now-husband. I dove into 4x4ing and off-the-grid camping in the deep wilderness of the U.S. West Coast, from the Mojave Desert to the Olympic Peninsula. I cooked. I made music.
I breathed.
Through the lens of my life goals, I knew I wanted to do something with impact. As a friend put it, I wanted my next project to be worth putting on my tombstone. Is creative empowerment a tombstone-worthy cause?
Etched within me is a belief: we have barely scratched the surface of the creative potential of computers. We have been stuck in local maxima, since the ‘90s and ‘00s, in how we create software. The fractured way we collaborate between creative stakeholders; the disjoint languages across the worlds of design & code. The painfully low creative fidelity and performance of foundational UI platforms like HTML and CSS. The fragmented landscape of desktop, mobile, and web application platforms.
And here’s my burden: I can see a better world, in cursed, vivid detail. I first caught a glimpse of it years ago, when I learned to code in Flash — a design tool for shipping cross-platform software; a multi-stakeholder creative collaboration tool. A no-code tool well ahead of its time. A splash of the future.
We lost a chapter of history, an entire category of collaborative creative tooling, when Flash died, and with each passing day our world ever-more-sorely needs the next chapter to start — for creativity’s sake. For art’s sake.
Beyond dreams of creative empowerment, what sealed the deal for me was this: we have the potential for so many more human beings to create and collaborate around software, if we could just figure out the right platform to enable them. Over one billion people use spreadsheets. That’s a tool for making software. Why can’t every one of these people make apps and websites, too? How do we usher in the next five billion software creators?
To unlock creativity, and the empowerment that comes with creating software — potentially for so many people — yes, this is a calling. This is worth ten more of my prime years. This is tombstone-worthy.
So one day, I sat down and tried something I had not tried in a long time. I started coding, all by myself. I wasn’t filling gaps. I wasn’t adapting, or reacting to a broken team or culture, or doing any of the million other things needed to maintain payroll and livelihoods. I was no longer delegating the act of invention to somebody else. I just started building what needed to be built.
Wilderness
I set out to create the best damn digital creative tool I could imagine, no matter the cost. It had to be fast, thus built close to the metal (C, C++, or Rust.) It had to start as a developer tool, but pave the way for design collaboration. It had to run on any device. It had to enable a portal to non-technical users — as a rule of thumb “anyone who can use a spreadsheet should be able to use this creative tool.”
This tool would need to read and write code, so it needed to operate on the substrate of a computer language that is suitable for all the creative stakeholders and tools surrounding software teams. Such a language didn’t already exist, so I added it to the list.
As I tabulated the requirements, the amount of work ahead grew and grew. With the necessary capital and a full team, this business would easily be a 10-year undertaking. But how to get there, starting as a single person? The invention needed to be able to speak for itself.
Two years. I estimated it would take two years to reach the "Eureka" milestone, to the point where the idea speaks for itself and can attract others to the mission. Two years of irrationality, of starving artistry, of "this is crazy," because it presupposes a world that definitionally doesn't exist. Until it does. An invention, successfully executed, changes the world.
So I approached it as war. Anything was on the table — nothing was sacred, all that mattered was building the right thing, for the right user, to rain fire on this opportunity. JavaScript was a problem — so go beneath it to C and WebAssembly. Skia is a problem — so write a <100Kb, cross-platform, operating-system-level rendering engine and interactive runtime in Rust. HTML and CSS and React are a problem — so write a new declarative UI language, designed for humans as well as machines, and write the necessary companion grammar, parser, and compiler. The web browser is heavy and slow — make the browser, and all of its technology, optional. Imagine it's 1995 and we're building the foundational layers of computing again — like the browser, like the operating system, like creative tools.
Like I said, nothing was sacred. And the code kept flowing.
Naturally, the best name I could come up with for this violent project was Pax. Pax means “peace” in Latin, and Pax was the Roman goddess of peace. The name is also a nod to Unity, which is one of many technologies that inspired Pax.
Message in a bottle
Building the first versions was hard, spiritually and intellectually. It's the most technically challenging thing I've ever undertaken. For over a year, I didn't know if it was even possible, or if I would hit some intractable dead-end as I filled in the implementation details. Each day I had to hack through relentlessly creeping brambles of doubt, and the ever-increasing need to, you know, make money, and make sure I'm doing right for my career and family. Was my husband wondering if he made the right choice? Am I making the right choice?
Steadily, though, it started coming together. The rendering engine, the responsive layout system, the reusable & composable component system, the C ABI bridge that connects the operating system-specific rendering engines with the Rust-based runtime, the declarative GUI language that might just deliver the ergonomics of high-level, React-like authoring to the world of systems programming.
In September of 2022, almost a year after starting, I put out a message in a bottle. I open-sourced Pax, committing to developing it in the open thereafter. And I wrote the initial docs and put out a simple prototype demo.
The tech wasn't ready to use yet! It was open-source demo-ware. Thus, broadcasting this developer tool was likely to backfire — imagine inviting (with fanfare!) patrons into a new restaurant before the kitchen is operational.
Maybe, though, I could find a kindred spirit, a partner for the journey. So I crafted this message for him, or her, or them, and gently launched Pax Alpha Preview into the world.
Collaborator
January 2023. It started with a LinkedIn InMail. Probably spam. But this one hit different — Warfa Jibril, fresh MBA graduate from Stanford, with a highly technical background: studied computer science at Carnegie Mellon University then worked for several years as a software engineer at Google. He wanted to pick my brain about my experience with Haiku.
We hopped on a call. Turns out, Warfa is passionate about design & development collaboration, and about the future of digital creative tooling. Just like me. He had been at it solo for about a year. Just like me. Our conversation started about Haiku and the problem-space, then I blind-sided him with this project I had been working on, Pax. As we dug into Pax — crazy as the whole thing is, and thanks uniquely to his own experiences of the last year — it all just clicked with him.
Our next meeting, over coffee and a walk that circumscribed downtown Berkeley, was rapid-fire conversation: non-stop, discussing ideas, experiences, and philosophy; exploring compatibility, alignment, and vibes.
Each subsequent meeting with Warfa left me more and more curious. This man is highly intelligent and technical, but also well balanced and charismatic. Ambitious, but extremely practical in execution. Kind-spirited, but formidable.
Particularly special is the collaborative leverage we have been able to find through first-principles communication. Whereas both of us are highly technical, yet also have footings in the world of business, we can attack any problem with a shared vocabulary, e.g. of discrete math, deterministic finite automata, set theory, and programming languages — across problem spaces like psychology, fundraising, strategy, hiring, and communications. It's some kind of hacking.
Soon after meeting, we started working together on Pax full time.
From left to right: Zack and Warfa on a walk through the Berkeley Hills
Eureka and beyond
Connecting with Warfa lit a new fire under me. Pax was ahead of schedule. The Eureka milestone — where the invention could speak for itself — was close at hand, not two years out after all, and it could be sped up if I put my nose to the grindstone. Imagine a tunnel under a mountain, a year into digging — and imagine that last push before you see daylight on the other side. That’s where we were. I just needed to power through, to get Warfa onboard.
Then, a few weeks ago while Warfa was working out of my place in Berkeley, the first beam of light broke through. "We've got it." I showed Warfa my screen: write some Pax, compile it, render on screen; rinse, repeat. We had our loop. It was alive.
Since then, Warfa has already started shipping code in the heart of the rendering engine, compiler, and standard library! Now, together, we’re rapidly approaching the Alpha launch for Pax, when we can finally get this technology into users’ hands. And really, this is just the beginning — there’s a long road for this developer tool to become worth its salt, and an even longer road to birthing the collaborative and creative tooling that connects non-developers with developers.
As with any long journey, we’re taking it one step at a time. And most importantly of all, now it’s “we.”
Subscribe
Subscribe to Developing Pax for more writings, from Warfa, from me, and from future collaborators. You'll see more when we launch Alpha and beyond.
Thanks for reading!
Zack
Congratulations Zack and Warfa! I'm excited to see where Pax will go in the future.