Complex Data and User Interface Design: A Guide to Our Process

At Crux Collaborative we design sites and applications that enable people and businesses to complete complex tasks online—mange their money, model their retirement, configure an order, determine if their insurance will cover a procedure. These are the types of things that we’ve come to expect to be able to do easily online, but that has not always been the case. In the past, customer-services representatives acted as the gatekeepers of the relationship between a customer and their data.


In the Old Days

My mother worked as a customer service rep for the telephone company. I remember going to work with her when I was a kid back in the 80’s. The screens she looked at were confusing and complex with lots of codes and jargon.

There was no need for the interface to be intuitive. She was trained on these systems and worked on them everyday—familiarity and training enabled her to translate the mess on those pages and communicate and manage billing, account and service details to customers.

As expectations have evolved, organizations are less inclined to hire and pay for people like my mom. Consumers want more access to and control of their data through digital portals.

That’s where we come in—we provide a design layer between the database and the user that enables customers to complete these complex tasks without having to talk to anybody.

The Formula for Success

Integrating that design layer with the data that will drive the experience is obviously key to the success of our work. The skills required to setup and mange a database are wildly different than those needed to develop usable interface solutions. Complex systems behave in ways that cannot be predicted or understood at the outset of a project. We’ve developed a formula that honors these realities and provides an efficient way to mange the uncertainty of this type of work.

1. Early Planning

We identify the people responsible for the implementation and invite them to participate in the project from the beginning. We gather details on the technical and data environments and we document those specifications to ensure that we are aligned from the start on the constraints and limitations of the project.

2. Co-Creation and Involvement

We ask the folks responsible for the data to co-create solutions for the interface. Part of our process for designing complex applications is to collaboratively generate potential interface solutions with the key stakeholders on the project. This methodology provides a forum for those responsible for building and integrating data to communicate their ideas and vet the ideas with our design team in real time. Solutions that make unrealistic or impossible requests of the data are quickly dismissed. More importantly, the reason that it won’t work are shared with the team and that learning is collectively shared in real time.

3. The Functional Design System

As part of our process, we develop a prototype. The prototype uses canned scenarios and data stored in the browser to simulate the core features and functions of an application. The purpose of this prototype is to two fold— first, it gets us to a working model quickly. Integrating the full data model for complex applications is expensive and time consuming. The prototype enables us to conduct research and identify potential breakdowns before we go thorough the exercise of developing specific APIs and database structures.

Second, it serves as the foundation for the implementation. The functional design prototype provides the implementation team with a working model of the user experience. This working model enables them to quickly understand the concepts and data frameworks that need to be developed. The prototype simulates key scenarios with data stored locally in the browser—there are no actual algorithms or databases driving the display of data. By visually showing how the data and information are supposed to behave, the functional design prototype demonstrates the business and functional requirements of the user experience. This helps facilitate the development process by rolling wireframes, requirements, and static designs into a single functional deliverable.

Following the delivery of the design prototype, we consult with our the technical team throughout the implementation process to expand the system to account for additional interactions not considered in the initial system.


Do you have a complex, data-driven application that is in need of a usable design interface? Contact us. Let’s talk about how our formula and experience developing these systems can benefit you and your organization.

Related Insights