a ux for creation

Posted: 2025-02-14
Updated: 2025-02-14

chat interfaces fundamentally limit how i interact with LLMs. they’re incredibly effective at showing the power of LLMs to a wide audience — specially in the days where agi felt more like fiction than the goal of the tech industry. and for that reason, they’ve become the de facto standard. but, in my opinion, flaws in their design hold me back from realizing the true creative potential of these models.

this recent observation from a blog post by Daniel Delaney caught my eye as i was scrolling through hacker news:

When your intent is in a document instead of scattered across a chat log, English becomes a real programming language.

this captures a feeling i’ve been struggling to put to paper — chat interfaces are optimized for consumption, not creation. they excel when i’m asking a quick question, debugging a pesky error, or solving an immediate problem. but they leave me unsatisfied when i’m in the middle of any creative, complex work — they break my concentration and require wasted effort copying and formatting the required context.

a chat interface is fundamentally conversational — good for answering my questions or helping me find clarity in my own thoughts. in that way, it’s like querying search — focused, transactional, and temporary. and while llm’s are capable of summarization and question answering (though hallucination makes me question if they should be), what really excites me about ai is it’s ability to augment human creativity. restricting them to a chat pattern feels like forcing a jazz musician to play sheet music. 

two interfaces from my past make me dream of what power llms can bring.

the first is google docs in its early days.

my first time being creative on the internet, i’d write stories with my closest friends in middle school. i remember the magic of feeling my friends digital presence as we collaborated on building fictional universes together. writing transformed from a solitary activity to something i shared with others, and it felt so immediate. the proof of my friends presence — their cursor blinking on scree or the comments and suggestions we’d leave for each other — encouraged me to continue to write far more than if i’d been alone.

the second is likely a familiar one to my imagined reader (bluesky ⋂ hacker news user): the terminal, IDE, and browser all side by side.

i remember my first time ever creating a website — i built my robotics team’s website from scratch, frustrated with the bloat and complexity offered by the website builder we’d been using. those late nights staying up till 3am switching between sublime text and my local host were intoxicating. and despite being dismissed (who would’ve thought rewriting the codebase wasn’t the answer), the rush of pushing through issues to add something, and immediately getting the feedback of the reimagined webpage hooked me. the interface disappeared, and all i could feel was the blissful flow of creation.

these two environments could not be more different than todays chat based llms — these were blank canvases, allowing for the fluidity and immediacy necessary to create. the chat interfaces i use now feel more like im talking to consultants — rigid, turn based, and clunky. these spaces are designed for asking and receiving, not for building and shaping.

but what if the interfaces i loved in the past could be used as patterns to build the interfaces we interact with llms in? when i do, i imagine something like this.

  1. canvas — at the core, i need a familiar creative space – depending on the task it could be a document editor, flowchart builder, MIDI sequencer, or digital canvas. it should feel natural and intuitive, letting users create without cognitive overhead.
  2. terminal — i need a way to communicate with my collaborator (or if we don’t want to anthropomorphize, a way to steer the LLMs involvement). this doesn’t necessarily mean a traditional CLI. it could be natural language, or a selection-based refinement tools. but i imagine it as declarative, rather than the typical q&a i find myself engaging in when it comes to chat interfaces  — a tool that ensures i maintain creative flow.
  3. visualizer — this imo is where things get interesting. as Simon Willison noted in a recent podcast, the world is seeing the emergence of “prompt-driven UI development.” LLMs can generate custom interfaces – complete with interactive elements like sliders, maps, and visualizations – in response to user needs. imagine if these interfaces could not only present information but also observe and respond to how users interact with them.

breakthroughs will come in this third element when we close this interaction loop. rather than generating static interfaces, LLMs could create dynamic spaces and tools that adapt to user interaction, and feeds back those interactions as info to enhance the creative process. glimpses of this future exists in tools like Claude’s artifacts, Cursor’s visual diff tools, opennotes Feynman, and tldmaraw’s “make real” feature.

the chat paradigm served its purpose to make ai accessible, but i’m craving more. i want interfaces that support sustained creative work, that maintain context and flow, and that actually collaborate rather than respond.