On Adaptive Design Systems

Designing for Dynamic Conditions

An Adaptive Design System, as I understand it, is the idea that an interface can serve different content or interactions depending on different conditions.

Imagine an app that shows a different interface depending on the time of day. For example, an airline app that detects you are near the airport at the time of your flight and immediately displays your boarding pass.


An adaptive interface should present a situation-relevant interface based on rules that define the conditions for its display. The core questions that emerge are:

  • What are those conditions?

  • What are the "different things" (e.g., information, interfaces, interactions, content) that can be shown, and why?

  • How can we systematize this under a coherent strategy?

An adaptive design system fulfills this function. It defines these elements in a readable and usable way: industry-specific, user-centric, and interface-agnostic.

Below is a simple example:

However, this concept becomes even more interesting when we start combining "conditions" to trigger specific outcomes. For example:

Soon, we need to categorize this system into distinct components. Above, we can see "Conditions" (e.g., "It is morning," "User is in a happy mood and enjoys non-serious content").


Below that, we find the "Instructions" or "Interface Design." This design is no longer manually created by a user. Instead, it is generated based on instructions defined in the Adaptive Design System. These instructions can specify which design component to display (e.g., component 1.1, 1.2), provide guidance on copy (e.g., "Give a morning greeting"), or even dictate interactions or images to surface.


The output is modified by the conditions, effectively "teaching" the interface to predict the user’s state—a primitive, on-rails, rudimentary "theory of mind."

But what if we explore "conditions" more deeply? Even if we assume interfaces are relatively limited (e.g., digital interfaces), there is significant opportunity to innovate around the "conditions." This is where "Adaptive Design Systems" become a compelling concept. What if, as conditions, you set things like:

Given the above conditions, what interface instructions would you establish? What should be shown to a user with these conditions? This is the dimension where adaptive design systems operate. Since manual interface design is increasingly automated (e.g., through tools like UX Pilot or Loveable), we must focus on what design can uniquely achieve.

The above conditions, of course, depend on our ability to measure them. How might we determine a user’s living situation (e.g., alone, with roommates, with family)? How might we know their favorite fictional character is Y?

Some of these questions fall under "UX research" or the "Human Factors" domain. Others might be better classified as "audience insights" (e.g., who they follow on social media, their age, where they live). Still others might be available through cloud-hosting dashboards (e.g., what times they use a given app most frequently).

How would you vary an interface to be faithful to those contextual conditions? What new problems are there to be solved? What possible futures will you choose to address?

In conclusion: Because we can measure an increasing number of conditions like those above, we are better equipped to create human-centric designs than ever before. We can develop a high-resolution understanding of the scenarios we’re addressing, opening new projects, opportunities, and avenues for innovation. Not just designing space or interaction, but also forking timelines.

Like the “butterfly effect”, we can’t quite know what impact our design is going to have on the future. But we can surely empower it to have a good journey.