pattern playground
This site is meant as an exploration of interaction design patterns. Through both experimental and practical approaches, I try different ways to organise and compose some of the elements of my design practice.
Everything here is exploratory and evolving. The focus is on mapping relationships between things and understanding how they connect. This means things are described and implemented only to a degree needed to make the next connection possible.
Objective and approach
I think of this as a design repertoire — a personal collection of patterns that shape how I approach design problems, an attempt to put on paper what was mostly in my head for the last 10+ years. The result sits across two layers: patterns as components (structural building blocks) and patterns as carriers of experiential qualities — malleability, agency, accessibility, transparency, and other dimensions of what it feels like to use something.
The repertoire is shaped by the context of my work: professional work-support systems — tools that facilitate work, coordination, and information-intensive activities. That context determines which patterns appear here, how they get evaluated, and which qualities receive attention.
The approach is like tending a garden — cultivating ideas over time, refining structures and fostering connections as understanding develops.
On AI
What started as an implementation-agnostic exploration of interaction patterns pivoted twice. In 2025 it became a playground for weaving LLMs into component-based structures, using design systems as a lens to explore what was emerging. By 2026 the focus shifted toward generative UI specification — exploring how this repertoire might serve as a knowledge base for task-grounded generation.
Working notes
An occasionally updated log of current focus.
May '26
Agency keeps splitting. Assistance and delegation graduated into their own foundations, and appropriate reliance was added to agency itself.
Two threads I started in March have grown into a bigger issue. Both push toward the same question: is this a transition from pattern catalogue to pattern language? Answering it meant going back to something I'd postponed a year ago — what a pattern actually is. I called this project "pattern playground" without ever defining that, and "anything" worked fine as a placeholder for a while. Now I went looking at how HCI researchers draw the boundary between a pattern and a UI component; the basic definitions overlap a lot, and there's nothing close to consensus on where the line sits. I ended up with a working version, good enough to outline a pattern language as a vision. Thinking about it also led to the split question: a component library and a pattern-language site want different structures and tooling.
March
Reading Bowker and Star's Sorting Things Out and Alexander's A City Is Not a Tree prompted a rethink of how the project is organised. Two moves followed: reorganising the main nav around activity theory levels to make the structure more generative; and building a graph where clusters emerge from link structure rather than category assignments, opening up other ways to navigate the project.
Running alongside: genUI playground, where this repertoire feeds into generative UI experiments.
January
I've been reading Thoughtful Interaction Design and it's shifting how I think about this project. Löwgren & Stolterman's design repertoire — a personal collection that structures how a designer sees new situations — maps loosely onto this project. But their repertoire is tacit and embodied; this one is external and explicit. That gap raises a question: how does it actually feed back into practice? An LLM-powered workflow might be the answer.
Alongside this, I'm looking for a more sustainable way to approach what Löwgren & Stolterman call use-oriented qualities — experiential dimensions like malleability, tight coupling, transparency, fluency. Throughout the year, the foundations list kept growing, and mixing qualities from different rungs of the abstraction ladder—practical versus purely visual—made it feel incoherent.
November '25
Collaboration and conversation have become central this autumn. I've added conversation as a foundational layer—treating all interaction as coordinated turn-taking.
This led to expanding the collaboration patterns, particularly around human↔bot dynamics. The collaboration stages now map how agency patterns shift throughout co-creation. I've been particularly interested in how humans elaborate on AI contributions—from surface acceptance to integrative advancement—and what that means for maintaining agency whilst working with generative systems.
August
This summer I've been using concept design to tackle LLMs — breaking AI down into user-facing semantic blocks rather than mapping technology directly to interaction. This approach feels more promising than my previous attempts, but I haven't built anything with these concepts yet. It's possible I'm overextending Jackson's methodology, so I might scale back the LLM concept set.
On the practical side, I'm vibing my way through block-based text patterns enabling collaboration: commenting, referencing, highlighting, etc. Thinking about collaboration led to updating foundations — I've added conversation and formality. Conversation now exists at three levels (foundation, pattern, and concept), which either reflects its central role in interaction design or signals I'm overcomplicating things. Formality, on the other hand, remains purely inspirational for now—no patterns implementing it yet.
June
Refining the LLM patterns. The focus continues on making AI interactions more deliberate and contextual, moving beyond chat toward embedded intelligence patterns.
- Basic LLM interactions: steadily filling in the details. Describing patterns that shape model's input and output. Where possible (and makes sense), I'm trying to describe these patterns generically, without tying them specifically to AI. I'm not entirely sure yet how useful this approach is, but it seems to spark interesting connections and conversations. Also filling in missing UI components. Added TipTap to add more interactivity to help with mainly textual patterns.
- Described embedded intelligence as an AI integration strategy.
- Next: task as a building block of agentic interactions.
May
I continue building the map of LLM interaction patterns. Right now exploring how user intent gets captured and acted on. There are three interconnected tracks:
- First, I've pulled apart chat and bot—chat is where the conversation happen; the bot is the part that gets things done, often outside the chat. Seeing them separately makes it easier to think about assistants that shift between interface roles: from conversation partner to background actor.
- This separation reveals that the chatbot implements a cluster of patterns revolving around clear, deliberate user intent provided via prompt, and supported by mechanics like prompt guidance and scaffolding, and model switching.
- This distinction, in turn, points toward another set of patterns—ways to handle unclear intent when the user doesn't or can't say what they want.
In April I've read Daniel Jackson's The Essence of Software and now want to try using the ideas in practice. The plan is to define some of the concepts common to most applications.
April
Mapping out how LLMs integrate into this, looking for patterns that support better, more thoughtful design than a chatbot.
Prototyping with LLMs requires components I don't have yet, so it's a bit of a scramble.
March
Continuing with basics. Balancing coding experiments with describing some of the patterns that don't need an implementation.
Exhausted from trying to define cards and lists and all their countless variations. Will need to go back to it later.
February
Setting up the basics.
January 2025
First commit.
