5 min read

Designing for complex problems

Breaking down complex problems and establishing clear relationships between recurring objects in inerfaces.

Understanding Complexity

Interfaces often become complicated when we design screens before understanding the objects that shape them.
Most product complexity isn’t visual, it’s structural. It comes from unclear relationships between users, content, and actions.

When you start with layouts instead of logic, every new feature becomes an exception, not a pattern.

Mapping the Building Blocks

Consider a product like Airbnb. It has listings, hosts, guests, bookings, messages, and reviews.
Each of those is an object, a recurring, recognizable piece of information with its own attributes and relationships.

A host owns many listings.
A guest can book many listings.
Each booking generates a message thread and a review.

When we map those relationships early, the interface almost designs itself. You know which data belongs where, and which interactions need to exist.

This approach is called Object-Oriented UX (OOUX), a framework developed by Sophia Prater. It borrows the logic of object-oriented programming and applies it to design.
Instead of starting with pages or flows, we start with objects, relationships, and actions.

Structuring the Logic

OOUX works especially well for complex, data-dense products such as dashboards, marketplaces, or project tools where objects repeat across views.

The core process usually follows four steps:

  1. Identify objects
    List every noun your product relies on: project, task, user, team, goal, report.

  2. Define relationships
    Show how those objects connect: a user owns tasks, a task belongs to a project, a report summarizes goals.

  3. Clarify attributes
    Note what details each object contains such as titles, metrics, timestamps, and permissions.

  4. Map actions
    Identify what users can do to or with each object such as create, assign, duplicate, archive.

When you visualize this model before any UI design, you uncover edge cases early and reduce rework later.
You are effectively designing the system’s grammar before writing its sentences.

Designing for Clarity

OOUX is not just a framework, it is a way to see complexity as structure rather than chaos.
When you think in objects, you stop reacting to problems and start designing from principles.

Good interfaces reflect the logic of their objects.
Complexity only becomes confusing when relationships are hidden.

By grounding design in object relationships, you create systems that scale gracefully, adding clarity instead of clutter with every new feature.

Let’s build something that lasts

Work with Baseline to turn vision into design that drives real impact.

5 min read

Designing for complex problems

Breaking down complex problems and establishing clear relationships between recurring objects in inerfaces.

Understanding Complexity

Interfaces often become complicated when we design screens before understanding the objects that shape them.
Most product complexity isn’t visual, it’s structural. It comes from unclear relationships between users, content, and actions.

When you start with layouts instead of logic, every new feature becomes an exception, not a pattern.

Mapping the Building Blocks

Consider a product like Airbnb. It has listings, hosts, guests, bookings, messages, and reviews.
Each of those is an object, a recurring, recognizable piece of information with its own attributes and relationships.

A host owns many listings.
A guest can book many listings.
Each booking generates a message thread and a review.

When we map those relationships early, the interface almost designs itself. You know which data belongs where, and which interactions need to exist.

This approach is called Object-Oriented UX (OOUX), a framework developed by Sophia Prater. It borrows the logic of object-oriented programming and applies it to design.
Instead of starting with pages or flows, we start with objects, relationships, and actions.

Structuring the Logic

OOUX works especially well for complex, data-dense products such as dashboards, marketplaces, or project tools where objects repeat across views.

The core process usually follows four steps:

  1. Identify objects
    List every noun your product relies on: project, task, user, team, goal, report.

  2. Define relationships
    Show how those objects connect: a user owns tasks, a task belongs to a project, a report summarizes goals.

  3. Clarify attributes
    Note what details each object contains such as titles, metrics, timestamps, and permissions.

  4. Map actions
    Identify what users can do to or with each object such as create, assign, duplicate, archive.

When you visualize this model before any UI design, you uncover edge cases early and reduce rework later.
You are effectively designing the system’s grammar before writing its sentences.

Designing for Clarity

OOUX is not just a framework, it is a way to see complexity as structure rather than chaos.
When you think in objects, you stop reacting to problems and start designing from principles.

Good interfaces reflect the logic of their objects.
Complexity only becomes confusing when relationships are hidden.

By grounding design in object relationships, you create systems that scale gracefully, adding clarity instead of clutter with every new feature.

Let’s build something that lasts

Work with Baseline to turn vision into design that drives real impact.

5 min read

Designing for complex problems

Breaking down complex problems and establishing clear relationships between recurring objects in inerfaces.

Understanding Complexity

Interfaces often become complicated when we design screens before understanding the objects that shape them.
Most product complexity isn’t visual, it’s structural. It comes from unclear relationships between users, content, and actions.

When you start with layouts instead of logic, every new feature becomes an exception, not a pattern.

Mapping the Building Blocks

Consider a product like Airbnb. It has listings, hosts, guests, bookings, messages, and reviews.
Each of those is an object, a recurring, recognizable piece of information with its own attributes and relationships.

A host owns many listings.
A guest can book many listings.
Each booking generates a message thread and a review.

When we map those relationships early, the interface almost designs itself. You know which data belongs where, and which interactions need to exist.

This approach is called Object-Oriented UX (OOUX), a framework developed by Sophia Prater. It borrows the logic of object-oriented programming and applies it to design.
Instead of starting with pages or flows, we start with objects, relationships, and actions.

Structuring the Logic

OOUX works especially well for complex, data-dense products such as dashboards, marketplaces, or project tools where objects repeat across views.

The core process usually follows four steps:

  1. Identify objects
    List every noun your product relies on: project, task, user, team, goal, report.

  2. Define relationships
    Show how those objects connect: a user owns tasks, a task belongs to a project, a report summarizes goals.

  3. Clarify attributes
    Note what details each object contains such as titles, metrics, timestamps, and permissions.

  4. Map actions
    Identify what users can do to or with each object such as create, assign, duplicate, archive.

When you visualize this model before any UI design, you uncover edge cases early and reduce rework later.
You are effectively designing the system’s grammar before writing its sentences.

Designing for Clarity

OOUX is not just a framework, it is a way to see complexity as structure rather than chaos.
When you think in objects, you stop reacting to problems and start designing from principles.

Good interfaces reflect the logic of their objects.
Complexity only becomes confusing when relationships are hidden.

By grounding design in object relationships, you create systems that scale gracefully, adding clarity instead of clutter with every new feature.

Let’s build something that lasts

Work with Baseline to turn vision into design that drives real impact.