• For example, in Webflow, rather than starting from scratch, users will ask for a “marketing website that features X images and shows the brand in a whimsical tone” and Webflow will generate a custom starting point – a bespoke template. For product designs, users will ask Figma to adjust their component library to have “a more futuristic style” and the app will oblige

  • The reason these drafts will usually not be perfect is that for a lot of creative pursuits the human author doesn’t know what perfect actually looks like when they ask for help. There are two issues: one, humans are not able to perfectly express their intents; so even if the AI was a perfect translator of stated intent into form it would still be wrong a lot of the time. Secondly, creation is an inherently iterative process where intent is often discovered as you draft and edit

  • Put another way, for the applications I’m talking about (VSCode, Figma, Webflow, Notion, Warp and the like) we are often unable to express our intentions to AI precisely enough for an AI to get it completely right, even through repeated prompting

  • To be clear, I don’t think this is true for every kind of app. I think it’s very much an application- or domain-specific challenge. In general, the closer the domain is to one where there are a broad range of acceptable creative outcomes – where there is “creative license” – the less manual adjustment will be needed. That means for image creation, music creation, marketing pabulum AI is going to be able to get you pretty much all the way there

    The ideal AI output is not a finished product but a recipe — a transparent, adjustable structure where the user can see and manipulate the moving pieces. Interpretability of the output matters as much as its quality.
  • The reason I think this is that the hard part of coding has always been humans getting clear on how they want a thing to work and then presenting this to a machine for execution. This is why we write code in programming language rather than natural language; programming language is an extension of formal logic and lets humans express with exactitude what they want done.