<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Developing Pax]]></title><description><![CDATA[The not-so secret diary of Pax. We'll give updates on the journey and share interesting things along the way.]]></description><link>https://developing.pax.dev</link><image><url>https://substackcdn.com/image/fetch/$s_!vVJ4!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e6730c-8ca5-4e9f-adf0-fe7731a87e28_1280x1280.png</url><title>Developing Pax</title><link>https://developing.pax.dev</link></image><generator>Substack</generator><lastBuildDate>Sat, 04 Apr 2026 20:07:32 GMT</lastBuildDate><atom:link href="https://developing.pax.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[PaxCorp]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[developingpax@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[developingpax@substack.com]]></itunes:email><itunes:name><![CDATA[Warfa Jibril]]></itunes:name></itunes:owner><itunes:author><![CDATA[Warfa Jibril]]></itunes:author><googleplay:owner><![CDATA[developingpax@substack.com]]></googleplay:owner><googleplay:email><![CDATA[developingpax@substack.com]]></googleplay:email><googleplay:author><![CDATA[Warfa Jibril]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Let's Fix User Interfaces]]></title><description><![CDATA[If you play a musical instrument, or paint, or cook, you have experienced the idea of creative fidelity. Not all creative tools are the same &#8212; some help you express your imagination better than others. Think of a dull knife, or an untunable guitar. Bad at getting your ideas into reality: poor creative fidelity.]]></description><link>https://developing.pax.dev/p/lets-fix-user-interfaces</link><guid isPermaLink="false">https://developing.pax.dev/p/lets-fix-user-interfaces</guid><dc:creator><![CDATA[Zack Brown]]></dc:creator><pubDate>Tue, 18 Jun 2024 17:44:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8y1U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you play a musical instrument, or paint, or cook, you have experienced the idea of <em>creative fidelity</em>.&nbsp; Not all creative tools are the same &#8212; some help you express your imagination better than others.&nbsp; Think of a dull knife, or an untunable guitar.&nbsp; Bad at getting your ideas into reality: poor creative fidelity. &nbsp;</p><p>Today, anyone involved in building software &#8212; notably software with graphical user interfaces like web pages or mobile apps &#8212;&nbsp;has experienced more than one squished tomato, or discordant strum.&nbsp; </p><p>Our ideas take 1,000,000 paper cuts on their way to shipping, no matter your job title, and no matter what technologies you use.  If we consider user interfaces as a medium for art, creative fidelity is low.  But it doesn't have to be this way.&nbsp;</p><p></p><h2><strong>It's not you.&nbsp; It's our tools.&nbsp;</strong></h2><p>And I mean this lovingly, for everyone on this planet who interacts with screens and computers, both creators and consumers.</p><p>Our tools for building software &#8212; especially user interfaces &#8212; could be better.&nbsp; Should be better.</p><p>Imagine the lift to the wellbeing of humanity if we could grease the gears of our interface with machines.&nbsp; To make ourselves more creative, to empower more creators, and to enrich our lives with more art and personality.&nbsp; As humanity spends ever more time in front of screens<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, the quality and diversity of these experiences become ever more important.</p><p><strong>What if creating software could feel like drawing, or painting, or writing poetry?</strong>&nbsp; What if anyone who can use a smartphone could contribute directly to a codebase through visual and verbal tools?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8y1U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8y1U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!8y1U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!8y1U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!8y1U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8y1U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A futuristic user interface composed of various 3D components, such as holographic screens, floating graphs, and interactive panels. A hand is shown using a paintbrush to apply vibrant colors to some of these components, while another hand writes on a different part with a graphite pencil. The scene conveys a creative and dynamic process of designing and modifying a high-tech interface.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A futuristic user interface composed of various 3D components, such as holographic screens, floating graphs, and interactive panels. A hand is shown using a paintbrush to apply vibrant colors to some of these components, while another hand writes on a different part with a graphite pencil. The scene conveys a creative and dynamic process of designing and modifying a high-tech interface." title="A futuristic user interface composed of various 3D components, such as holographic screens, floating graphs, and interactive panels. A hand is shown using a paintbrush to apply vibrant colors to some of these components, while another hand writes on a different part with a graphite pencil. The scene conveys a creative and dynamic process of designing and modifying a high-tech interface." srcset="https://substackcdn.com/image/fetch/$s_!8y1U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!8y1U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!8y1U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!8y1U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24963d4c-6ede-4318-8a79-66853eec258a_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2><strong>Abracadabra</strong></h2><p>If I could wave a magic wand and change one thing about the past, it would be to erase the differences between Webflow and Figma.&nbsp; Webflow builds software, but it is constrained by the layout system &amp; technical rules of HTML, which is why creative fidelity is so low.&nbsp; You don&#8217;t get to <em>draw</em> in Webflow; you must <em>build</em> in a very complicated way.</p><p>On the other hand, Figma offers high creative fidelity, but is fundamentally disconnected from code. As a result, Figma is scoped to "drawing pictures" instead of "drawing software."&nbsp; Wrong medium, for this particular goal.&nbsp;</p><p>And the heart of the problem is that Webflow vs. Figma, or SwiftUI vs. Photoshop &#8212; they speak different languages.&nbsp; In a formal sense: these languages are not bijectively equivalent<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, which is why we can't freely translate back and forth between design and code.</p><p>But <em>what if</em> &#8220;an HTML&#8221; were designed exactly to be the backbone of a vector design tool, as well as the backbone of a user interface engine?&nbsp; Let's try something wild &#8212; let's imagine a language that describes `<code>R &#8899; F</code>`, the union of `<code>R: anything you can express in React`, </code>and <code>`F: anything you can express in Figma</code>`. &nbsp;</p><p>Let&#8217;s play this thought experiment out,<strong> </strong>by building it.</p><p></p><h2><strong>A design tool for codebases</strong></h2><p>Let's start by building a rendering engine like Figma's.&nbsp; This must be a professional vector design tool, even as it builds software.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>&nbsp;The coordinate system of this rendering engine must be the same as a vector design tool&#8217;s, and the vocabulary must include all of the same concepts, e.g. Group, Rectangle, Path, Text.</p><p>Why does Figma feel so unlike every other browser experience?&nbsp; Because it's built at the systems level, not limited by JavaScript's stuttering garbage collector.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>&nbsp; Our practical choices for building at this level are C, C++, or Rust.&nbsp; We can use constructs like reference-counted pointers at this layer, operating over a fixed span of linear memory instead of allocating to the JavaScript heap and trigger unpredictable, frame-dropping garbage collections, i.e. stutters.&nbsp; </p><p>Another cool thing about building at the systems level is we can target browsers through WebAssembly, but also can build to pure native apps for just about any device on the planet.</p><p>Now that we have this rendering engine, instead of packaging it away into a design tool, let's expose it through a declarative language, so that you can write it by hand in addition to drawing it.&nbsp; This is that &#8220;HTML-like&#8221; language we imagined a minute ago, and it looks exactly like React:</p><pre><code>&lt;Group&gt;
    &lt;Button /&gt;
    &lt;SomeCustomComponent /&gt;
    &lt;Rectangle /&gt;
&lt;/Group&gt;</code></pre><p>To write a <code>&lt;Rectangle/&gt;</code> is to draw a <code>&lt;Rectangle/&gt;</code>.&nbsp; And vice-versa. &nbsp;</p><p>Let&#8217;s sprinkle in an expression language, so this can (1) remain 100% declarative, just data, so it can be read &amp; written deterministically, but also (2) allow you to express anything you might express with React and (3) forge a connection with programming languages, so this whole thing can attach to a programming language in the spirit of HTML.</p><pre><code>&lt;Group&gt;
    &lt;Button @click=handle_click /&gt;
    &lt;SomeCustomComponent some_prop={some_data + 5} /&gt; 
    &lt;Rectangle fill={hsl((num_clicks)deg, 100%, 50%)} /&gt;
&lt;/Group&gt;</code></pre><p>Snap it together with templated reusable components, compile across platforms, customize and extend with Rust (or TypeScript, coming soon.)</p><p>We&#8217;ve already built all of the above &#8212; it&#8217;s free and open source and compiles into extremely fast (240FPS) native apps or WebAssembly.  <a href="https://www.github.com/paxengine/pax">Check out Pax Engine on GitHub</a>.</p><p></p><h2>A more creative future</h2><p>Finally, let&#8217;s build a vector design tool, using the language above as the source of truth, reading &amp; writing that language with every operation.&nbsp; This makes it so you can hand-code a user interface declaration alongside visually designing it.  Use the best tool for the job and for your skillset.</p><p>The latest design can be opened at any time in the project&#8217;s journey, just like opening a codebase with VSCode, or opening a design file with Figma.</p><p>Critically, the design now lives in source code and ships to production &#8212;&nbsp;contributions are made as pull requests and non-developers can contribute to the same codebase as developers.&nbsp; Artists, creatives, marketers &#8212;&nbsp;anyone who can use a spreadsheet or a design tool or a notepad &#8212; now becomes a builder of software.</p><p><strong>That&#8217;s Pax.</strong>&nbsp; And we&#8217;re doing this all so we can have a more creative, more collaborative, more inclusive future &#8212; a better interface between humans and machines. </p><div id="youtube2-crI_raloHgo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;crI_raloHgo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/crI_raloHgo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><em>Pax Create is our design tool for making cross-platform apps &amp; websites, built around the open source Pax Engine.  As of June 2024, Pax Create is pre-release, but we are getting close to our first launch.  Sign up for early access or learn more at <a href="https://www.pax.dev">pax.dev</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://developing.pax.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe to follow along as we continue to fix user interfaces.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://explodingtopics.com/blog/screen-time-stats">https://explodingtopics.com/blog/screen-time-stats</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://en.wikipedia.org/wiki/Bijection">https://en.wikipedia.org/wiki/Bijection</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Flash proved this was possible in a creative tool, and it was exactly this connection of disciplines that elevated Flash websites and cartoons to an entirely different league of creative fidelity than anything we've seen since.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>GPU rendering is an important piece of the puzzle, too, namely for scaling to complex projects &#8212;&nbsp;but perhaps surprisingly, that pesky garbage collector is the number one reason why Figma feels &#8220;smooth&#8221; and most other things in the browser don&#8217;t.  See e.g. <a href="https://www.researchgate.net/publication/253255632_Sporadic_frame_dropping_impact_on_quality_perception">https://www.researchgate.net/publication/253255632_Sporadic_frame_dropping_impact_on_quality_perception</a> </p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[A Utopian Future for Graphical User Interfaces]]></title><description><![CDATA[Can we imagine a better future for creating graphical user interfaces? Let&#8217;s scope &#8220;creating&#8221; to: visual design, writing code, managing a team, or authoring content & text. For each of these disciplines, and especially the collaborative interfaces between them, certainly the future will be better than today. But how so? And why? How do we get there?]]></description><link>https://developing.pax.dev/p/a-utopian-future-for-graphical-user</link><guid isPermaLink="false">https://developing.pax.dev/p/a-utopian-future-for-graphical-user</guid><dc:creator><![CDATA[Zack Brown]]></dc:creator><pubDate>Tue, 22 Aug 2023 17:50:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Can we imagine a better future for creating graphical user interfaces?&nbsp; </p><p>Let&#8217;s scope &#8220;<em>creating</em>&#8221; to: visual design, writing code, managing a team, or authoring content &amp; text.  For each of these disciplines, and especially the collaborative interfaces between them,&nbsp;certainly the future will be better than today.  But how so?&nbsp; And why?  How do we get there?</p><p>Let&#8217;s start by painting a Star-Trek-like utopian future &#8212; free from the constraints of the present &#8212; as it relates to creating GUIs.&nbsp; Here are some brush strokes to get the canvas started.</p><p></p><h2><strong>The future is multi-modal</strong></h2><p>That is, you can create UIs using different <em>modes</em> &#8212; code is just one such mode.&nbsp; Following are some other creative modes of the future, some of which we can already glimpse in the present.</p><h4><strong>Creative mode: drawing, painting, and visual building</strong> </h4><p>In addition to code, you will be able to create user interfaces visually, with graphical tools akin to modern vector &amp; raster design tools.&nbsp; </p><p>We have already seen a glimpse of this with visual builders like Webflow, Squarespace, Framer, and Wix &#8212; and a vivid illustration of it back in the &#8216;90s and &#8216;00s with Flash&#8217;s visual design &amp; development environment &#8212; but these tools have plateaued at a local maximum over the last two decades.&nbsp; </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hxUZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hxUZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 424w, https://substackcdn.com/image/fetch/$s_!hxUZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 848w, https://substackcdn.com/image/fetch/$s_!hxUZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!hxUZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hxUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif" width="720" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4795956,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hxUZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 424w, https://substackcdn.com/image/fetch/$s_!hxUZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 848w, https://substackcdn.com/image/fetch/$s_!hxUZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!hxUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cb99dba-da18-48fd-a140-a6b7cbdf8355_720x480.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Trying to move an image into the same column as some text in Framer.  Why doesn&#8217;t it do what I expect it to do?</figcaption></figure></div><p>There is a steep learning curve to every one of these tools, and the &#8220;visual editing&#8221; process in fact requires understanding the underlying developer platform, HTML and CSS, and their complex, technical systems of styling and layout.&nbsp; In other words, to be effective with these tools, you must first be a developer &#8212; which limits the utility of these tools as an <em>alternative</em> to writing code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Poq_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Poq_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 424w, https://substackcdn.com/image/fetch/$s_!Poq_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 848w, https://substackcdn.com/image/fetch/$s_!Poq_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 1272w, https://substackcdn.com/image/fetch/$s_!Poq_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Poq_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif" width="720" height="326" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1727739,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Poq_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 424w, https://substackcdn.com/image/fetch/$s_!Poq_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 848w, https://substackcdn.com/image/fetch/$s_!Poq_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 1272w, https://substackcdn.com/image/fetch/$s_!Poq_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f90db4-357a-4e26-96f4-d7d4b6ed3dc0_720x326.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Can we move this heading to the top-left corner of its container in Webflow? Modern website builders are &#8220;technical &amp; constrained.&#8221;</figcaption></figure></div><p>One day, after we break past this plateau of constrained, technical visual editors, creating app GUIs &amp; websites will be ultimately be as intuitive and accessible as drawing, painting, or modeling clay.</p><p></p><h4><strong>Creative mode: natural language &amp; AI</strong></h4><p><em>Natural language</em> via LLMs and their successors will be another mode of creating user interfaces.&nbsp; This facet of the future is already at our doorstep, at least early iterations of it, with tools like <a href="http://durable.co">Durable.co</a> and Framer&#8217;s AI. &nbsp;</p><p>As an extension of LLMs transforming explicit requirements into GUIs, you can also imagine autonomous agents creating on their own, or some degree separated from an initial prompt. &nbsp;Instead of a human turning the crank on each iteration, agents will be able to run with and satisfactorily complete, zero-shot, high-level tasks.</p><p>Finally, we will soon be able to input <em>graphical</em> inspiration and generate something that looks or feels like something similar.&nbsp; A common tool for visual designers is the <em>mood board</em> &#8212; a collage of images that channel the &#8220;mood&#8221; of whatever is being designed, as a tool to get the creative juices flowing toward a yet-inchoate idea. &nbsp; </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QzFr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QzFr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 424w, https://substackcdn.com/image/fetch/$s_!QzFr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 848w, https://substackcdn.com/image/fetch/$s_!QzFr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 1272w, https://substackcdn.com/image/fetch/$s_!QzFr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QzFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15303740,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QzFr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 424w, https://substackcdn.com/image/fetch/$s_!QzFr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 848w, https://substackcdn.com/image/fetch/$s_!QzFr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 1272w, https://substackcdn.com/image/fetch/$s_!QzFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0414187e-b498-48e1-b0e6-b066f0dcd38a_3600x2146.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A mood board that we put together while ideating the branding for <a href="https://www.pax.dev/">Pax</a>. You can imagine LLMs in the near future &#8220;channeling visual inspiration&#8221; like this into changes in a codebase.</figcaption></figure></div><p>LLMs will be able to accept prompts from us in the form of "<em>this picture I took of the sunrise</em>," or "<em>this collection of brands assets or illustrations or graphics</em>" &#8212; and channel that inspiration into a coat of digital paint on our apps &amp; websites.</p><p></p><h4><strong>Creative mode: code</strong></h4><p>Is code here to stay?&nbsp; To formulate an opinion on this, it&#8217;s worth examining why code exists in the first place.&nbsp; </p><p>Code is a tool for unambiguously encoding data or sequences of instructions (algorithms) that we can reason about logically as humans, which also have meaning to computers.&nbsp; </p><p>When we use the word &#8220;code,&#8221; we are generally describing either programming languages like C++ and JavaScript, or data-encoding languages like JSON and YAML.&nbsp; In both scenarios, you can think of code as a <em>common language</em> between computers and humans.&nbsp; With LLMs at our doorstep, we're finally breaking into the territory of natural language like English being a common language as well. &nbsp;</p><p>So: will we create all of our apps, websites, and digital graphical interfaces entirely with English &amp; other natural languages in the future?&nbsp; </p><p>While English &amp; other natural languages will increasingly become portals to computation, &#8220;code&#8221; as we think of it today will stick around for at least two reasons:&nbsp; </p><p>(1) <strong>Ambiguity</strong> &#8212; Natural language is generally more awkward to channel into unambiguous instructions than it is to channel a programming language into unambiguous instructions.&nbsp; As long as we speak organic languages like English, rife with both <a href="https://en.wikipedia.org/wiki/Syntactic_ambiguity">structural</a> and <a href="https://en.wikipedia.org/wiki/Ambiguity#Lexical_ambiguity">lexical</a> ambiguity, we will benefit from computer languages designed to avoid these pitfalls.</p><p>(2) <strong>Visuospatial information density</strong> &#8212; well paraphrased with the idiom "<em>a picture is worth 1000 words</em>." Describing graphical or spatial content &#8212; like a picture, or a GUI, or hierarchical information like relational data, or spatially related data like the values in a spreadsheet &#8212; will remain best served by code and data-encoding languages.  This boils down to the fact that visuospatial information can be quite dense, while natural language is inherently sequential<em>.</em>  For an illustration of this phenomenon, think about the last time you had to wait for a call center&#8217;s automated telephone recording to read out numeric options for you &#8212; and how you felt while you navigated this system &#8212; vs. how quickly you can find options when you have them all laid out in front of you on a screen.</p><p></p><h2><strong>The future is more collaborative</strong></h2><p>As humans, we tend to develop specialized skills.&nbsp; Some people are proficient with code; some are proficient with drawing &amp; painting; some are proficient writing natural language.&nbsp; Some folks are dealt a lucky hand and are proficient across several different skills &#8212;&nbsp;but usually, we work professionally on diverse teams where different contributors have different talents, and this diversity becomes a strength of the team as a whole.</p><p>Now the problem today is, these modes of building software are mutually exclusive.&nbsp; <em>Either</em> you create a GUI using code, <em>or</em> you use a visual builder like Webflow.&nbsp; <em>Either</em> you draw an idealized GUI in a design tool like Figma, or you &#8220;<a href="https://world.hey.com/dhh/design-for-the-web-without-figma-4bc3a218">design in the final medium,</a>&#8221; &#8212; but you don&#8217;t do these things <em>together, </em>not in the same <em>language</em>.&nbsp; Where we must collaborate across these modes, we do so in the form of &#8220;hand-offs&#8221; &#8212; of tasking a human being to translate, for example, a drawing of a user interface (for example, in Figma) into a &#8220;real&#8221; user interface (for example, in HTML/CSS, or Webflow, or developer platforms like SwiftUI / Jetpack Compose.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ccJL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ccJL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ccJL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ccJL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ccJL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ccJL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1691126,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ccJL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ccJL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ccJL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ccJL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7daf4f9b-956c-4419-a1ac-9f362df4cff1_1024x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>In the future, we won&#8217;t have hand-offs</strong>.&nbsp; Tools specialized for each creative mode will be able to affect the substrate itself.&nbsp; We will be able to collaborate seamlessly across different modes, and each contribution will be additive and interleaved, instead of siloed and waterfalled.&nbsp; The ability to create collaboratively around the same source of truth will not only make creation far more efficient, but more <em>creative</em> as well.&nbsp; Imagine artists adding art to a codebase while engineers add code, and marketers add copy and managers add tickets &amp; comments.</p><p></p><h2><strong>The future is democratized&nbsp;</strong></h2><p>You may have already identified this in the negative space of what we&#8217;ve envisioned above &#8212; but by lowering the technical bar to creating interactive experiences, more and more humans will be able to create interactive experiences &#8212; apps, websites, interactive cartoons, games, data visualizations, 2D and 3D experiences, and augmented &amp; virtual reality. &nbsp;</p><div class="pullquote"><h4><em>In our utopian future, anyone who can make a spreadsheet can make an app or a website.</em></h4></div><p>As a reference point, consider the humble spreadsheet.&nbsp; Anyone, with very limited technical training, can pick up &amp; use a spreadsheet.&nbsp; It&#8217;s so visual &#8212; point, click, type, enter.&nbsp; Spreadsheets are also the sterling example of a &#8220;low-code&#8221; tool, where writing programmatic expressions has an extremely low technical bar, with immediate feedback, and without all of the ancillary technical hurdles of most programming environments.</p><p>This may help explain why Excel spreadsheet formulae are the <a href="https://techcommunity.microsoft.com/t5/excel-blog/announcing-lambda-turn-excel-formulas-into-custom-functions/ba-p/1925546">world&#8217;s most widely used programming language</a>&nbsp; &#8212; and why as many as <a href="https://askwonder.com/research/number-google-sheets-users-worldwide-eoskdoxav">2B people&nbsp;use spreadsheets today</a>.  That&#8217;s roughly 1/4 of all living humans.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BBbX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BBbX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BBbX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BBbX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BBbX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BBbX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1816382,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BBbX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BBbX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BBbX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BBbX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f2eab3a-de29-4412-8d3a-4697534e3f0d_1024x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In our utopian future, anyone who can make a spreadsheet can make an app or a website. Any mom &amp; pop selling handmade goods in a developing economy will be able to <a href="https://datareportal.com/global-digital-overview">use their smartphone</a> to publish an interactive e-commerce site.&nbsp; The prosperity enabled by digital connectivity and commerce will be extended to the entire globe, as more people can <em>create</em> interactive experiences, rather than just consume them.</p><p></p><h2><strong>How do we get there?</strong></h2><p>We face a certain truth today: we don&#8217;t yet live in our utopian future.&nbsp; </p><blockquote><h4><em>&#8220;Truth is not what you want it to be; it is what it is. And you must bend to its power or live a lie.&#8221; </em></h4><h4><em>- </em>Miyamoto Musashi</h4></blockquote><p>Our design &amp; developer tools live across a chasm of hand-offs.&nbsp; Visual builders are creatively limited and locked into proprietary platforms.&nbsp; Not to mention, there&#8217;s tremendous momentum &amp; commercial interest&nbsp; behind existing technologies &amp; tools, and these existing technologies aren&#8217;t going to unify themselves.&nbsp; The truth is, we live in a fractured digital creative world.</p><p>But if we can imagine this future, we can build it, right? &nbsp;This is the magic of <em>invention</em> after all: with enough audacity &amp; grit, history has shown time &amp; again that a third option can be forced into Musashi-sama&#8217;s dichotomy.&nbsp; You can bend to the power of truth, you can live a lie &#8212; or you can bend truth itself, by building something that changes the rules.</p><blockquote><h4>&#8220;<em>You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.</em>&#8221;</h4><h4><em>- </em>Buckminster Fuller</h4></blockquote><p>When you think about it this way, a more creative, more efficient, more connected future seems well within reach.  It will require blood, sweat, and tears &#8212; but a better future for GUIs is ours for the building.  </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://developing.pax.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Developing Pax. Join us on our journey!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Wake From Death; Return to Life]]></title><description><![CDATA[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.]]></description><link>https://developing.pax.dev/p/back-to-life</link><guid isPermaLink="false">https://developing.pax.dev/p/back-to-life</guid><dc:creator><![CDATA[Zack Brown]]></dc:creator><pubDate>Thu, 16 Mar 2023 19:03:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Inspired by my<a href="https://developing.pax.rs/p/update-1"> co-founder Warfa's recent introductory post</a>, I decided it was time to tell the story of my own journey over the last couple of years.&nbsp; 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.</p><p></p><h3><strong>Death of a startup</strong></h3><p>18 months ago, I shut down my last startup, Haiku Systems Inc.&nbsp; Our mission was to "<em>Unify design &amp; code &#8212; to unlock new creativity.</em>"&nbsp; We battled it out for a few years, pivoting a couple times. Our most loved (and remunerative) product was a design tool called<a href="https://www.haikuanimator.com/"> Haiku Animator</a>, which is now open-source, though unmaintained.</p><p>Have you ever had an opportunity come along that feels like it could change your life?&nbsp; Some goal you&#8217;ve worked toward for years, which one day is within your grasp &#8212; you just need to win this <em>one battle</em>.&nbsp; A linchpin that, if removed, will catapult you toward your life goals.</p><p>For me, Haiku was that opportunity.&nbsp; My career aspiration had always been entrepreneurship.&nbsp; 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.&nbsp; Based on that progress, I was able to raise a $3M seed round from Silicon Valley investors.&nbsp;&nbsp;</p><p>This was my shot.</p><p>Maybe, like me, you&#8217;ll do whatever is necessary, bound by your moral compass, to seize such an opportunity.&nbsp; Long nights, lost sleep, emotional turmoil, gray hairs. Cursed and blessed with more than my fair share of tenacity, I remember resolving to myself: "<em>Haiku will survive</em>."&nbsp; And survive we did, for several years.</p><p>The problem:&nbsp; I was so intent on Haiku <em>surviving</em> that, when faced with difficulties and the need to pivot, I compromised on ambition.&nbsp; <em>The path to survival is to be less ambitious.</em>&nbsp; And through an insidious blend of execution errors, leadership discord, and bad luck, we pivoted multiple times.</p><p>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.&nbsp; We no longer had the capability, financially or in morale, to exploit any opportunity that might come our way.&nbsp; So, I pulled the plug.</p><p>And I started reflecting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VFwP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VFwP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VFwP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VFwP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VFwP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VFwP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VFwP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VFwP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VFwP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VFwP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1852ac7d-cb63-46b2-9590-5f47f787a5c7_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3><strong>From the rubble</strong></h3><p>The problems with Haiku began when my co-founder and I didn&#8217;t see eye-to-eye.&nbsp; 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.&nbsp; As CEO and tie-breaker, ultimately, drilling into this misalignment was my responsibility, and not doing so was my most fundamental error.</p><p>Our misalignment culminated in a product that wasn&#8217;t quite made for anyone, with too much complexity, with a dead-ended trajectory &#8212; it was making money, yes, and it was serving a niche use &#8212; but this was not what any of us had signed up for.</p><p>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 <strong>inventor</strong>, which ended up being a very difficult role to replace mid-voyage.&nbsp; Meanwhile, Haiku: the company, the strategy, the mission, "<em>to unlock new creativity</em>" &#8212; they were all predicated on invention.</p><p>It turns out it&#8217;s exceedingly difficult &#8212; maybe impossible &#8212; to delegate the core, atomic act of invention.&nbsp;</p><p>But I could see this only in retrospect, from the rubble.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tjRW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tjRW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tjRW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tjRW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tjRW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tjRW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tjRW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tjRW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tjRW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tjRW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38367ed3-063f-4709-8058-f819966528e5_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3><em><strong>Renaissance</strong></em></h3><p>The pandemic brought mortality closer into focus for many of us.&nbsp; Haiku played out over 14% of my expected lifespan.</p><p>The mission that has guided my life's work so far, to unlock new creativity &#8212; to empower creative expression on screens, to bring the interactive digital medium closer to art &#8212; still had an inexorable draw.</p><p>Yet I could be dedicating my life's energy to taking on global hunger!&nbsp; Disease!&nbsp; Climate change!&nbsp; Agriculture, infrastructure, human rights &#8212; the list goes on.&nbsp;</p><p>So I stepped away from the problem.&nbsp; I visited family across Europe, North America and Asia.&nbsp; I proposed to my ever-supportive now-husband.&nbsp; 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.&nbsp; I cooked.&nbsp; I made music.</p><p>I breathed.&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oL50!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oL50!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oL50!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oL50!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oL50!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oL50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oL50!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oL50!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oL50!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oL50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aa2a606-34eb-419c-b66a-b912b0005fb7_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Through the lens of my life goals, I knew I wanted to do something with <em>impact</em>.&nbsp; As a friend put it, I wanted my next project to be worth putting on my tombstone.&nbsp; Is <em>creative empowerment</em> a tombstone-worthy cause?&nbsp;&nbsp;</p><p>Etched within me is a belief: <em>we have barely scratched the surface of the creative potential of computers.</em>&nbsp; We have been stuck in local maxima, since the &#8216;90s and &#8216;00s, in how we <em>create software</em>.&nbsp; The fractured way we collaborate between creative stakeholders; the disjoint languages across the worlds of design &amp; code.&nbsp; 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.</p><p>And here&#8217;s my burden: I can see a better world, in cursed, vivid detail.&nbsp; I first caught a glimpse of it years ago, when I learned to code in Flash &#8212; a design tool for shipping cross-platform software; a multi-stakeholder creative collaboration tool.&nbsp; A no-code tool well ahead of its time. A splash of the future.&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ENAT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ENAT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ENAT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ENAT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ENAT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ENAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ENAT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ENAT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ENAT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ENAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6fefb1-1509-455a-87c0-f4ccb7dc26c9_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>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 &#8212; for creativity&#8217;s sake.&nbsp; For art&#8217;s sake.</p><p>Beyond dreams of creative empowerment, what sealed the deal for me was this: we have the potential for <em>so many more human beings</em> to create and collaborate around software, if we could just figure out the right platform to enable them.&nbsp; Over one billion people use spreadsheets.&nbsp; That&#8217;s a tool for making software.&nbsp; Why can&#8217;t every one of these people make apps and websites, too?&nbsp; How do we usher in the next <em>five </em>billion software creators?</p><p>To unlock creativity, and the empowerment that comes with creating software &#8212; potentially for so many people &#8212; yes, this is a calling. This is worth ten <em>more</em> of my prime years.&nbsp; This is tombstone-worthy.</p><p>So one day, I sat down and tried something I had not tried in a long time. I started coding, all by myself.&nbsp; I wasn&#8217;t filling gaps.&nbsp; I wasn&#8217;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.&nbsp; I just started building what needed to be built.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XeiM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XeiM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XeiM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XeiM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XeiM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XeiM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XeiM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XeiM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XeiM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XeiM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb84529b1-7027-45d2-b5fa-49fd1f286888_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3><strong>Wilderness</strong></h3><p>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.)&nbsp; It had to start as a developer tool, but pave the way for design collaboration.&nbsp; It had to run on any device.&nbsp; It had to enable a portal to non-technical users &#8212; as a rule of thumb &#8220;<em>anyone who can use a spreadsheet should be able to use this creative tool.</em>&#8221;</p><p>This tool would need to read and write <em>code</em>, so it needed to operate on the substrate of a <em>computer</em> <em>language </em>that is suitable for all the creative stakeholders and tools surrounding software teams. Such a language didn&#8217;t already exist, so I added it to the list.&nbsp;</p><p>As I tabulated the requirements, the amount of work ahead grew and grew.&nbsp; With the necessary capital and a full team, this business would easily be a 10-year undertaking.&nbsp; But how to get there, starting as a single person?&nbsp; The invention needed to be able to speak for itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lRPD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lRPD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lRPD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lRPD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lRPD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lRPD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lRPD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lRPD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lRPD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lRPD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a4ba9f-ffd3-4a1d-8139-8bf293147ee3_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Two years.</em>&nbsp; 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.&nbsp; Two years of irrationality, of starving artistry, of "this is crazy," because it presupposes a world that definitionally doesn't exist.&nbsp; Until it does.&nbsp; An invention, successfully executed, changes the world.&nbsp;</p><p>So I approached it as war.&nbsp; Anything was on the table &#8212; nothing was sacred, all that mattered was building the right thing, for the right user, to rain fire on this opportunity.&nbsp; JavaScript was a problem &#8212; so go beneath it to C and WebAssembly.&nbsp; Skia is a problem &#8212; so write a &lt;100Kb, cross-platform, operating-system-level rendering engine and interactive runtime in Rust.&nbsp; HTML and CSS and React are a problem &#8212; so write a new declarative UI language, designed for humans as well as machines, and write the necessary companion grammar, parser, and compiler.&nbsp; The web browser is heavy and slow &#8212; make the browser, and all of its technology, optional.&nbsp; Imagine it's 1995 and we're building the foundational layers of computing again &#8212; like the browser, like the operating system, like creative tools.&nbsp;&nbsp;</p><p>Like I said, nothing was sacred.&nbsp; And the code kept flowing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i3ce!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i3ce!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i3ce!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i3ce!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i3ce!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i3ce!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i3ce!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i3ce!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i3ce!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i3ce!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681f6cf9-e904-41f2-96b6-102b6efeedcd_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Naturally, the best name I could come up with for this violent project was <em>Pax</em>.&nbsp; Pax means &#8220;peace&#8221; in Latin, and Pax was the Roman goddess of peace. The name is also a nod to Unity, which is one of<a href="https://docs.pax.rs/intro-goals-prior-art.html#prior-art--inspiration"> many technologies that inspired Pax</a>.</p><p></p><h3><strong>Message in a bottle</strong></h3><p>Building the first versions was <em>hard, </em>spiritually and intellectually.&nbsp; It's the most technically challenging thing I've ever undertaken.&nbsp; 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.&nbsp; 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.&nbsp; Was my husband wondering if he made the right choice?&nbsp; <em>Am I</em> making the right choice?</p><p>Steadily, though, it started coming together.&nbsp; The rendering engine, the responsive layout system, the reusable &amp; 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 <em>might just</em> deliver the ergonomics of high-level, React-like authoring to the world of systems programming.</p><p>In September of 2022, almost a year after starting, I put out a message in a bottle.&nbsp; I<a href="https://www.github.com/pax-lang/pax"> open-sourced Pax</a>, committing to developing it in the open thereafter.&nbsp; And I wrote the<a href="https://docs.pax.rs/"> initial docs</a> and put out a simple prototype demo.</p><p>The tech wasn't ready to use yet!&nbsp; It was open-source demo-ware.&nbsp; Thus, broadcasting this developer tool was likely to backfire &#8212; imagine inviting (with fanfare!) patrons into a new restaurant before the kitchen is operational.</p><p>Maybe, though, I could find a kindred spirit, a partner for the journey.&nbsp; So I crafted this message for him, or her, or them, and gently launched <em>Pax Alpha Preview</em> into the world.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t4A7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t4A7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!t4A7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!t4A7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!t4A7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t4A7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t4A7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!t4A7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!t4A7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!t4A7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4373037a-cdb7-4857-abf2-14f105d4d9c8_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3><strong>Collaborator</strong></h3><p>January 2023. It started with a LinkedIn InMail.&nbsp; Probably spam.&nbsp; But this one hit different &#8212; 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.&nbsp; He wanted to pick my brain about my experience with Haiku.</p><p>We hopped on a call.&nbsp; Turns out, Warfa is passionate about design &amp; development collaboration, and about the future of digital creative tooling.&nbsp; Just like me.&nbsp; He had been at it solo for about a year.&nbsp; Just like me.&nbsp; Our conversation started about Haiku and the problem-space, then I blind-sided him with this project I had been working on, Pax.&nbsp; As we dug into Pax &#8212; crazy as the whole thing is, and thanks uniquely to his own experiences of the last year &#8212; it all just clicked with him.</p><p>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.</p><p>Each subsequent meeting with Warfa left me more and more curious.&nbsp; This man is highly intelligent and technical, but also well balanced and charismatic.&nbsp; Ambitious, but extremely practical in execution. Kind-spirited, but formidable.</p><p>Particularly special is the collaborative leverage we have been able to find through first-principles communication.&nbsp; 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 &#8212; across problem spaces like psychology, fundraising, strategy, hiring, and communications.&nbsp; It's some kind of hacking.</p><p>Soon after meeting, we started working together on Pax full time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KjbE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KjbE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KjbE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KjbE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KjbE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KjbE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg" width="1280" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KjbE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KjbE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KjbE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KjbE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7a79d72-fbcd-44d8-b17e-9a659d3e6394_1280x960.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>From left to right: Zack and Warfa on a walk through the Berkeley Hills</em></p><p></p><h3><strong>Eureka and beyond</strong></h3><p>Connecting with Warfa lit a new fire under me.&nbsp; Pax <em>was</em> ahead of schedule.&nbsp; The Eureka milestone &#8212; where the invention could speak for itself &#8212; was close at hand, not two years out after all, and it could be sped up if I put my nose to the grindstone.&nbsp; Imagine a tunnel under a mountain, a year into digging &#8212; and imagine that <em>last push</em> before you see daylight on the other side.&nbsp; That&#8217;s where we were.&nbsp; I just needed to power through, to get Warfa onboard.</p><p>Then, a few weeks ago while Warfa was working out of my place in Berkeley, the first beam of light broke through.&nbsp; "<em>We've got it</em>."&nbsp; I showed Warfa my screen: write some Pax, compile it, render on screen; rinse, repeat.&nbsp; We had our loop.&nbsp; It was alive.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n8lx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n8lx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n8lx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n8lx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n8lx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n8lx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n8lx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n8lx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n8lx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n8lx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaa0ca4b-5cae-4be8-a871-3d6c792efc76_1024x1024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Since then, Warfa has already started shipping code in the heart of the rendering engine, compiler, and standard library! Now, together, we&#8217;re rapidly approaching the Alpha launch for Pax, when we can finally get this technology into users&#8217; hands.&nbsp; And really, this is just the beginning &#8212; there&#8217;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.</p><p>As with any long journey, we&#8217;re taking it one step at a time.&nbsp; And most importantly of all, now it&#8217;s &#8220;we.&#8221;&nbsp;</p><p></p><h3><strong>Subscribe</strong></h3><p>Subscribe to<a href="https://developing.pax.rs/"> Developing Pax</a> for more writings, from Warfa, from me, and from future collaborators.&nbsp; You'll see more when we launch Alpha and beyond.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://developing.pax.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://developing.pax.dev/subscribe?"><span>Subscribe now</span></a></p><p>Thanks for reading!</p><p>Zack</p>]]></content:encoded></item><item><title><![CDATA[The Next Billion Developers]]></title><description><![CDATA[Roughly a month ago, GitHub reached its 2025 target of hosting 100 million developers on its platform.]]></description><link>https://developing.pax.dev/p/the-next-billion-developers</link><guid isPermaLink="false">https://developing.pax.dev/p/the-next-billion-developers</guid><dc:creator><![CDATA[Warfa Jibril]]></dc:creator><pubDate>Fri, 10 Mar 2023 00:08:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GhyT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Roughly a month ago, GitHub reached its 2025 target of hosting 100 million developers on its platform. The goal was set in 2019 when the platform had 40 million developers worldwide.</p><p>Their underestimation highlights the staggering developer growth over the last few years. With this growth has come an increasing interest in tooling for developers. As a result, early-stage developer tool companies received <a href="https://www.crunchbase.com/hub/developer-tools-companies-early-stage-venture-funding">over $4.4 billion in funding in Q4 of 2022</a>, nearly triple the amount invested in Q4 of 2019.</p><p>Although the growth in developer tooling is impressive, many criticize it for only empowering a small fraction (&lt;1.5%) of the world's population to create software. "No-code" tooling emerged to fill this hole and enable non-developers to build software applications.</p><blockquote><p>No-code is a software development process that enables programmers and non-programmers to create software applications using a UI (user interface) without requiring manual coding.&nbsp;</p></blockquote><p>The idea itself is not new, but the number of software creation tools classified as "no-code" has grown significantly over the past five years. Notable examples include <a href="http://webflow.com">Webflow</a>, <a href="http://airtable.com">Airtable</a>, <a href="http://bubble.com">Bubble</a>, <a href="http://retool.com">Retool</a>, <a href="http://notion.com">Notion</a>, and Amazon's <a href="http://honeycode.aws">Honeycode</a>.&nbsp;</p><p>The popularity of no-code tools has resulted in a differentiation between software creation tools geared toward developers and those catering to non-developers.</p><p>Although "no-code" may suggest the opposite of developer tools, these tools have more similarities than differences.</p><p>They both take developers of varying proficiency and allow them to create their software.&nbsp;</p><p>In fact, if you step back and look at it:</p><p><strong>No-code and developer tools are the same thing</strong> &#8212; they just provide different levels of accessibility to their users and offer varying levels of extensibility.&nbsp;</p><blockquote><p><em>In software, extensibility refers to the ability to add new capabilities or functions, just like how Lego bricks allow building on top of existing models, while other toys would require buying a different one.</em></p></blockquote><h2>React vs. Webflow</h2><p>Let us take <a href="https://reactjs.org/">React</a> as an example. React is a developer framework for building user interfaces. It&#8217;s built on top of JavaScript and is one of the most popular web frameworks among developers today.&nbsp;</p><p>This is what React looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I1j2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I1j2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 424w, https://substackcdn.com/image/fetch/$s_!I1j2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 848w, https://substackcdn.com/image/fetch/$s_!I1j2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 1272w, https://substackcdn.com/image/fetch/$s_!I1j2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I1j2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png" width="647" height="165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:165,&quot;width&quot;:647,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I1j2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 424w, https://substackcdn.com/image/fetch/$s_!I1j2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 848w, https://substackcdn.com/image/fetch/$s_!I1j2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 1272w, https://substackcdn.com/image/fetch/$s_!I1j2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb0002d6-1a12-4485-ad68-a1459b755b3a_647x165.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>React is incredibly extensible. Users can write their own components (which act like Lego) and completely control how they are shown in the browser. They can define their styling and layout within React or separately.&nbsp;</p><p>On the no-code side, let's look at <a href="https://webflow.com/">Webflow</a>. Webflow markets itself as a no-code website builder. It gives users a visual editor (shown below) to style and lay out their web pages. Internally, it uses HTML and CSS (like React) to lay out these pages, but it hides much of that complexity from users in favor of a more accessible experience.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GhyT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GhyT!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 424w, https://substackcdn.com/image/fetch/$s_!GhyT!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 848w, https://substackcdn.com/image/fetch/$s_!GhyT!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 1272w, https://substackcdn.com/image/fetch/$s_!GhyT!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GhyT!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif" width="600" height="375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bcc68e0f-b382-479e-9008-006d18503495_600x375.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:375,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;[video-to-gif output image]&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="[video-to-gif output image]" title="[video-to-gif output image]" srcset="https://substackcdn.com/image/fetch/$s_!GhyT!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 424w, https://substackcdn.com/image/fetch/$s_!GhyT!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 848w, https://substackcdn.com/image/fetch/$s_!GhyT!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 1272w, https://substackcdn.com/image/fetch/$s_!GhyT!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc68e0f-b382-479e-9008-006d18503495_600x375.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you asked me to build, say... Twitter, I'd be hard-pressed to choose Webflow. I'd need to make custom file storage, direct messaging, and many more features that this "no-code" tool doesn't support. Simply put: the project would require significantly more extensibility than Webflow offers. React would be a much better choice.</p><p>For a basic web page, both Webflow and React can be used. However, even as a developer, I'd pick Webflow. Its visual layout system is faster than messing with CSS, and I can deploy it within the tool. I could have a website up in under 10 minutes.</p><p>My point here is to illustrate that there are use cases in which less complexity is preferred, even for developers.&nbsp;</p><h2>Accessibility or Extensibility</h2><p>Looking at all the tools available to build software, we can begin to organize them by extensibility.&nbsp;</p><p><em>We can establish a partial ordering among these tools by defining that a tool is more "extensible" than another if it has the capability to create the latter.</em></p><p>In our example, we'd say that React is more extensible than Webflow because we can build Webflow with React, but not the other way around.</p><p>Applying this to some commonly used tools, we get something like the following:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!waQ4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!waQ4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 424w, https://substackcdn.com/image/fetch/$s_!waQ4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 848w, https://substackcdn.com/image/fetch/$s_!waQ4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 1272w, https://substackcdn.com/image/fetch/$s_!waQ4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!waQ4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png" width="1456" height="912" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:912,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:301649,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!waQ4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 424w, https://substackcdn.com/image/fetch/$s_!waQ4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 848w, https://substackcdn.com/image/fetch/$s_!waQ4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 1272w, https://substackcdn.com/image/fetch/$s_!waQ4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29ab0a89-b04e-4914-a5ce-05a31c404079_3167x1984.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>At the top, we have <a href="https://en.wikipedia.org/wiki/C_(programming_language)">C</a>. C is a general-purpose programming language that underlies a lot of technology we use today. Virtually any project can be built using C, but even seasoned programmers avoid C (unless absolutely necessary) because of its complexity.&nbsp;</p><p>The following two levels (JavaScript, AWS, React, NodeJS, Vercel) are typical "developer tools". These tools are often built in more complex languages like C; offering programmers increased ease and the requisite flexibility to do most work.&nbsp;</p><p>Traditional 'no-code' tools (Retool, Webflow, Airtable, Notion) are at the bottom. Although they are the most accessible, they are also the least extensible. These tools are often marketed towards non-coders, but even developers can benefit from their specialized user interfaces, which can provide the fastest solution to <strong>modest</strong> problems.</p><p>At each level, we trade extensibility for accessibility. To make things easier for users, it seems inevitable that we shrink the universe of problems these tools can solve.&nbsp;</p><p>Is this always the case? Are there tools that offer both high accessibility and high extensibility?&nbsp;</p><h2><strong>A tool that grows with you</strong></h2><p>Imagine a tool that's user-friendly enough for anyone, even your parents, and also robust enough to meet the needs of industry professionals. Although it may seem like an impossible balance to achieve, you are already using a tool like this: spreadsheets.</p><p>Spreadsheets are a prime example of high accessibility AND extensibility. They have a simple yet powerful interface that can be used for anything from a grocery list to a complex financial model. <a href="https://askwonder.com/research/number-google-sheets-users-worldwide-eoskdoxav">Spreadsheets are used by over a billion people worldwide</a>, including both lay and expert users. They provide complexity to those with advanced knowledge while remaining user-friendly and extensible for everyone.</p><p>While they aren't new, spreadsheets showcase what's possible with a tool. They show us that it's possible to build something radically accessible with <a href="https://youtu.be/QnjmJKMtB7g?t=3">high extensibility</a>. They show us that a user can define the tool rather than the tool defining the user.</p><p>The spreadsheets of developer tools doesn&#8217;t exist at the moment, and I doubt it will exist until we re-examine how we develop today. Were HTML and CSS designed to be accessible to everyone? Perhaps in 1996, but today I know plenty of professional developers that would say it wasn&#8217;t even designed for them. We can now build a similarly extensible alternative that&#8217;s far easier to use.&nbsp;</p><p>Yes, the future development environment does look closer to Webflow than <a href="https://code.visualstudio.com/">VS Code</a>, but we can&#8217;t get there by shunting extensibility. A tool must be built for both developers AND no-coders. Otherwise, we will not bridge the gap and will be left with tools for creating landing pages rather than creating software.</p><p>As we aspire to a world where over 2% of the population is creating software, we need tools that allow more people to do more. Spreadsheets showed people rows and columns and taught billions how to program (via formulas). Today, we have a similar opportunity with developer tools to give users visual builders that can teach them how to build software.</p><p>An opportunity to make experts rather than simply catering to them.</p><div><hr></div><p>Thanks for reading! This is part of our vision with Pax. We&#8217;re building a developer tool that will natively support non-coders. Please <a href="mailto:warfa@pax.rs">reach out</a> if you want to chat about it. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://developing.pax.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">To hear more about Pax and reflections on our development journey, subscribe below.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Update #1]]></title><description><![CDATA[The collaborator, "eureka!", and the new blog]]></description><link>https://developing.pax.dev/p/update-1</link><guid isPermaLink="false">https://developing.pax.dev/p/update-1</guid><dc:creator><![CDATA[Warfa Jibril]]></dc:creator><pubDate>Tue, 28 Feb 2023 00:37:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qA2c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everyone!</p><p>Zack and Warfa reporting from Pax HQ! It&#8217;s been a whirlwind few months for us and we wanted to update you (our friends &amp; family) about the recent changes.&nbsp;</p><p>The 3 major updates we wanted to share are: cofounder update (Warfa), reaching &#8220;eureka&#8221;, and the new blog (Developing Pax).</p><h1>New Co-founder</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mGxG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mGxG!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 424w, https://substackcdn.com/image/fetch/$s_!mGxG!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 848w, https://substackcdn.com/image/fetch/$s_!mGxG!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 1272w, https://substackcdn.com/image/fetch/$s_!mGxG!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mGxG!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif" width="498" height="276" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4005d148-7264-4948-b906-9806642b1acd_498x276.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:276,&quot;width&quot;:498,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Predator Arm Wrestle GIFs | Tenor&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Predator Arm Wrestle GIFs | Tenor" title="Predator Arm Wrestle GIFs | Tenor" srcset="https://substackcdn.com/image/fetch/$s_!mGxG!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 424w, https://substackcdn.com/image/fetch/$s_!mGxG!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 848w, https://substackcdn.com/image/fetch/$s_!mGxG!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 1272w, https://substackcdn.com/image/fetch/$s_!mGxG!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4005d148-7264-4948-b906-9806642b1acd_498x276.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The first update is that the Pax team has grown from 1-&gt;2. Zack and I met organically at the end of 2022. By then, without realizing it, we had already been working remotely together for quite some time.&nbsp;</p><p>I graduated from my MBA at Stanford earlier that year. Through school, I had grown obsessed with figuring out how to improve the &#8220;design-&gt;dev&#8221; hand-off process. For our lucky readers that haven&#8217;t had the pleasure of dealing with this, it's the process of turning a design for a software application into the application itself. Designer&#8217;s tools like Figma have redefined the process of conceptualizing graphical user interfaces (GUIs). While these free-form tools are ideal to support creativity, it requires painstaking work by developers to turn the output (pictures) into reality. As a developer constantly faced with this work, I believed there had to be a better way.&nbsp;</p><p>I began building a Figma plugin called Rembo, Swahili for beautiful. My goal was to take design data from Figma and declaratively generate Javascript UI components to ease the hand-off process.&nbsp;</p><p>In parallel, with my newly acquired MBA skill (talking), I began to have conversations. A lot of conversations! I talked with trendy designers and curmudgeon engineers. I talked to senior developers at massive companies like Adobe that said this problem was impossible to solve and sole designers at tiny firms that craved even a marginal solution to this problem.&nbsp;</p><p>As I listened to all these perspectives, I began to build a matrix. On the X-axis, I put experience with the complexity of this problem and on the Y, I put optimism about solving it.&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qA2c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qA2c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 424w, https://substackcdn.com/image/fetch/$s_!qA2c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 848w, https://substackcdn.com/image/fetch/$s_!qA2c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 1272w, https://substackcdn.com/image/fetch/$s_!qA2c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qA2c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png" width="800" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72a31595-0021-4523-916f-2e457a0a509b_800x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qA2c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 424w, https://substackcdn.com/image/fetch/$s_!qA2c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 848w, https://substackcdn.com/image/fetch/$s_!qA2c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 1272w, https://substackcdn.com/image/fetch/$s_!qA2c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72a31595-0021-4523-916f-2e457a0a509b_800x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Throughout my conversations, I was constantly met with two perspectives: I named them the dreamer and the pessimist. The dreamer has touched the problem in some way but has never attempted to solve it. They can imagine a world without it and are excited to explain how this current one sucks. They were great interviews to learn about current industry practices and the issues stakeholders face. The other perspective, the pessimist, was often a dreamer who tried to solve the problem themselves. They are typically technical and have gotten far enough in their journey to touch the immense complexity intrinsic to this problem. They were great to talk with to understand the limitations they see in current technology and to learn from their approaches.&nbsp;</p><p>After a year of independent research, prototyping and these conversations, I stumbled on Haiku.&nbsp;</p><p>&#8220;Haiku exists to unify design and code: to power new creativity.&#8221;</p><p>The Crunchbase description immediately stuck out to me. It wasn&#8217;t a product; it was a vision. I dug deeper. The company had operated for 5 years. They raised money, released a few products and had since shuttered in 2021. I found their CEO on LinkedIn and shot him an In-mail. The ask was simple:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mPh1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mPh1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 424w, https://substackcdn.com/image/fetch/$s_!mPh1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 848w, https://substackcdn.com/image/fetch/$s_!mPh1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 1272w, https://substackcdn.com/image/fetch/$s_!mPh1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mPh1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png" width="482" height="623" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:623,&quot;width&quot;:482,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mPh1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 424w, https://substackcdn.com/image/fetch/$s_!mPh1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 848w, https://substackcdn.com/image/fetch/$s_!mPh1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 1272w, https://substackcdn.com/image/fetch/$s_!mPh1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbf17f5e-73be-442a-899e-ab70d620d1d3_482x623.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With a 99th percentile response time, Zack hit me back with his Calendly and his eagerness to chat. I quickly scheduled 30 minutes, excited for the call.</p><p>Our &#8220;30 minute&#8221; call, days later, proved to be the most insightful conversation of the past year. As I pestered Zack with questions about his thoughts on the problem, I soon found myself drinking from a fire-hose. His knowledge was both deep and comprehensive. He talked about the GTM difficulty of targeting both designers and developers. An obstacle he had faced with Haiku and I had too began to touch with my Figma plugin product Rembo. After that he moved onto the technical complexity of the problem, going so far as to compare it to <a href="https://en.wikipedia.org/wiki/Artificial_general_intelligence">AGI</a>.</p><p>As we dug through this, knowing his experience with Haiku, I had assumed that I had met another pessimist.&nbsp;</p><p>It wasn&#8217;t until an hour into our 30 minute conversation, that he segued into his current work: Pax, a new user interface language. After Haiku, he had come to the conclusion that a venture-funded business wasn&#8217;t the right venue to innovate on this problem. He believed that it required an &#8220;invention&#8221; before the business and decided to dedicate the next year to that belief.&nbsp;</p><p>As he talked about Pax, I began to think about my work generating Javascript while building Rembo. Zack had embarked on an even more audacious project; he had decided that Javascript alone was not the right material to bridge the gap to design. It needed something tailored from the ground up. Having just spent a year myself attempting to use Javascript for this exact purpose, I understood why. The language wasn&#8217;t meant for it; attempts to generate JS from designs quickly becomes unwieldy. This results in a terrible experience for developers that is virtually impossible to sell.&nbsp;</p><p>Zack had decided that instead of banging on the Javascript wall, he would dig a tunnel underneath it. Having just spent a year talking to many pessimists that had starved from banging on this wall, I saw the wisdom of the choice.&nbsp;</p><p>By the end of the call, I knew two things:&nbsp;</p><p>1) I wanted to consume all the information online about Pax.&nbsp;</p><p>2) I wanted to work with Zack.</p><p>I had found the third section of my matrix: The Collaborator &#129309;: someone knowledgeable yet optimistic about the future.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_T1Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_T1Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 424w, https://substackcdn.com/image/fetch/$s_!_T1Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 848w, https://substackcdn.com/image/fetch/$s_!_T1Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 1272w, https://substackcdn.com/image/fetch/$s_!_T1Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_T1Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png" width="800" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_T1Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 424w, https://substackcdn.com/image/fetch/$s_!_T1Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 848w, https://substackcdn.com/image/fetch/$s_!_T1Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 1272w, https://substackcdn.com/image/fetch/$s_!_T1Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed4416e-9f3d-41c8-b716-e97fc51d9120_800x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Not long after this, Zack and I decided to partner up to attack this problem. Sparks have been flying ever since and we&#8217;re both fired up about the long journey ahead!</p><h1>Reaching &#8220;Eureka&#8221;</h1><p>The second important update is that we&#8217;ve reached automatic compilation for Pax, dubbed &#8220;Eureka&#8221;. This has been the culmination of over a year of work on the Pax Language. It is now possible for a new developer to write a Pax app and automatically compile it for Web, by way of Web Assembly, and Mac, with LLVM. This is a massive step towards onboarding developers onto Pax and a mission critical step for our public launch!</p><p>We&#8217;re now hard at work improving the developer experience on Pax and rounding out the standard library. During this process, we'd love to chat with Rust developers! If you or someone you know works with Rust, <a href="mailto:warfa@pax.rs">hit us up</a>!</p><p>Stay tuned for our alpha launch in the coming months!&nbsp;</p><h1>Developing Pax (blog)</h1><p>Finally, the last update is that we&#8217;re starting this blog as a channel to share updates and interesting ideas we encounter along the journey developing Pax! We'll cover everything from the technical aspects of Pax's architecture (hint: Rust + Web Assembly) to breakdowns of the current collaboration landscape (such as a comparison of Figma vs. Webflow).</p><p>Follow along with us and join our <a href="https://discord.gg/5zXsskAzRB">Discord</a> as we explore the possibilities of creative design and development.&nbsp;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://developing.pax.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://developing.pax.dev/subscribe?"><span>Subscribe now</span></a></p><p>Thank you to all our friends and family for the support so far!</p><p>Zack &amp; Warfa</p>]]></content:encoded></item><item><title><![CDATA[Update #0]]></title><description><![CDATA[Preview of Pax: a cross-platform GUI toolkit for Rust developers]]></description><link>https://developing.pax.dev/p/update-0</link><guid isPermaLink="false">https://developing.pax.dev/p/update-0</guid><dc:creator><![CDATA[Zack Brown]]></dc:creator><pubDate>Mon, 12 Sep 2022 19:26:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UHlL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Pax is now available in <em>alpha preview.</em> It is not yet fully useful or functional, but will now be developed in the open, in hopes that others may find Pax interesting and choose to help push it forward.</p><p><a href="https://docs.pax.rs/intro-authors-and-contributors.html#how-to-contribute-to-pax">Read this section</a> of Pax&#8217;s docs for some ideas on how to help.</p><p></p><h4>Run demo</h4><p>As of this writing, you can run the Pax demo for macOS and Web on the <code>jabberwocky-demo</code> branch, after following the instructions in README.md, then using the shell scripts <code>./run.sh</code> and <code>./run-web.sh</code></p><p>This has only been tested on macOS! The Web example should work, perhaps out-of-the-box, on Linux and Windows development machines. The macOS example will only compile if you are developing on a Mac.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UHlL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UHlL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 424w, https://substackcdn.com/image/fetch/$s_!UHlL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 848w, https://substackcdn.com/image/fetch/$s_!UHlL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 1272w, https://substackcdn.com/image/fetch/$s_!UHlL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UHlL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png" width="827" height="482" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:482,&quot;width&quot;:827,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40497,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UHlL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 424w, https://substackcdn.com/image/fetch/$s_!UHlL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 848w, https://substackcdn.com/image/fetch/$s_!UHlL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 1272w, https://substackcdn.com/image/fetch/$s_!UHlL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51406493-4455-45b7-bd58-2fa93f4ee8f3_827x482.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Run the Jabberwocky demo live at https://docs.pax.rs/intro-example.html</figcaption></figure></div><p></p><p></p><h4>Compiler finish-line</h4><p>The most fundamental remaining work for Pax to become useful is to finish <em>automation of the compiler</em>. Until that automation is complete, here are the manual steps necessary to write a Pax program today:</p><ul><li><p>"unroll" any Pax code into RIL ("Rust Intermediate Language"), in the specific format required by <code>pax-cartridge</code>. This includes creating individual vtable entries for each expression and writing instance factories for each component.</p></li><li><p>compile the resulting Rust "cartridge" into a library</p></li><li><p>load that cartridge library into one or more native app chassis (e.g. pax-chassis-macos) and build the chassis/cartridge combo into a single <code>cdylib</code>, then</p></li><li><p>plug that <code>cdylib</code> into the appropriate platform "harness", running an external compiler to generate a final executable (.app, .exe, etc.)</p></li></ul><p>This is not particularly user-friendly: what would be the point of writing C if you had to manually unroll it into assembly before you could run a program?</p><p>The work for the compiler finish-line is happening on the <code>master</code> branch on GitHub. Once this work is done &#8212; and you can write + automatically compile basic Pax programs &#8212; Pax can progress from <code>alpha preview</code> to <code>alpha</code>.</p><p>Hot on the heels of compiler finish-line work will be <em>error message</em> improvements and a <em>language server</em> for debugging &amp; syntax highlighting, among <a href="https://www.github.com/pax-lang/pax/blob/master/TODO.md">other things</a>.</p><p></p><h4>Async</h4><p>A common use-case with GUIs is: "load some data from server; update GUI."</p><p>While awaiting a response from the server, a user may reasonably expect that the GUI will continue rendering, animating, or updating.</p><p>This is not yet the case for Pax, because it does not yet attach to async Rust code.</p><p>The planned approach is to write all future <a href="https://docs.pax.rs/start-key-concepts-event-handlers.html">event handlers</a> as <code>async</code>, and to dispatch those methods asynchronously via the Pax runtime.</p><pre><code><code>#[pax(/*...*/)]
pub struct MyStruct {
    pub app_data: Property&lt;String&gt;
}
impl MyStruct {
    //Note the `async` below!
    #[pax_on(DidMount)]
    pub async fn fetch_data(mut self) {
        //Proposed API:  for async functions, a "disposable" copy of the struct is passed by move from the Pax runtime. `my_crate::MyStruct::fetch_data(disposable_copy)`
        //`Property` is in charge of opaquely managing message-passing, such that by calling
        //`self.app_data.set("new value".to_string())` on this local, disposable `self`, a message is
        //sent to the canonical PropertyInstance to update its value.
    }
}
</code></code></pre><p>The above approach will require embedding an async runtime into the engine. In the long run, this will require that the async runtime can be parameterized, or swapped out. One possible approach is via the <code>patch</code> mechanism used already inside <code>pax build</code>.</p><p></p><h4>Cross-platform++</h4><p>Further work remains to run Pax on more screens. To support a new platform (like Android,) a new <code>chassis</code> and <code>dev harness</code> must be built. Thus far, two <code>(chassis, dev harness)</code> pairs have been built: see <code>pax-chassis-macos/</code> and <code>pax-chassis-web/</code>.</p><p>In order to support targeting Linux, Windows, Android, and iOS, a <code>chassis</code> and <code>dev harness</code> will need to be written for each platform. In broad strokes:</p><ol><li><p>writing a low-level bridge in a platform-native language (e.g. Swift on macOS) to accept the C structs that pass over the wire from the Pax engine, and</p></li><li><p>interpreting these structs as messages, mapping into CRUD operations for native elements like text and form controls. (search for the method <code>processNativeMessageQueue</code> in <code>pax-chassis-macos</code> for an example.) <code>pax-chassis-ios</code> will be able to share about 90% of the logic already written for <code>pax-chassis-macos</code>, so iOS support is close at hand.</p></li><li><p>keeping each chassis' CRUD logic updated over time with the addition of further native rendering elements, like form controls and drawing primitives</p></li></ol><p></p><h4>More primitives, form controls, and layout components</h4><p>Pax's component library is just getting started, and to be a truly useful GUI and graphics toolkit it requires a more thorough standard library.</p><p>Some high-priority upcoming pieces:</p><p><strong>Form controls:</strong></p><ul><li><p>Dropdown list</p></li><li><p>Text input box</p></li><li><p>Checkbox</p></li><li><p>Radio button list</p></li><li><p>File upload</p></li><li><p>Date picker</p></li></ul><p><strong>Drawing primitives</strong></p><ul><li><p>Path (bezier sequence)</p></li><li><p>Ellipse</p></li><li><p>Polygon</p></li></ul><p><strong>Layouts &amp; widgets</strong></p><ul><li><p>Scroller (plus native scrolling hookups)</p></li></ul><p></p><h4>Interested in helping?</h4><p>See <a href="https://docs.pax.rs/intro-authors-and-contributors.html#how-to-contribute-to-pax">this article on contribution</a>.</p>]]></content:encoded></item></channel></rss>