This project focused on rethinking the data trade assembly process, transforming it from a rigid, step-by-step flow into a dynamic, modular approach akin to a “choose your own adventure” experience. The goal was to address a critical challenge faced by engineers: piecemeal data setup made it difficult to progress through the linear flow, resulting in frustration and inefficiencies. By leveraging user feedback and iterative design, I decoupled the steps and integrated their functionality into new and existing structures within the app, allowing users (engineers) to move seamlessly between tasks, streamlining their work, and enhancing the overall usability.
At the core of every data trade are two essential components: relays and endpoints. Relays serve as the connective tissue, linking one endpoint to another and facilitating the flow of data between them. Endpoints, on the other hand, are functionally digital representations of an entity's data type, such as Elegibility data for BCBS. They house the logic required to direct, include, exclude, or transform data, ensuring it meets the necessary spec for transmission. Additionally, endpoints manage scheduling functions and provide some basic validation to ensure integrity and accuracy of the data. Together, these components form the backbone of a data trade, enabling exchanges of information between entities.
When we first began building data trades, the simple, linear assembly process seemed sufficient for the smaller, less complex setups we handled. However, as the requirements for data trades grew in detail and complexity, the inefficiencies of the linear structure became increasingly apparent. Engineers were required to complete each step fully before moving on, which became a bottleneck when setup data arrived in incomplete or piecemeal formats. Additionally, the system's reliance on mandatory inputs often caused large forms to throw errors, further compounding frustrations. Without the ability to skip or revisit specific steps, engineers struggled to make progress efficiently, leading to delays and inefficiencies that hindered their workflow.
1. Linear Structure Limitations — The strictly linear process required engineers to fully complete each step before moving on, which became inefficient as the complexity of data trades increased.
Basic sketch of the unidirectional assembly flow
2. Growing Complexity of Data Trades — While the initial system worked well for simple and small data trades, it struggled to accommodate the growing requirements for more detailed and intricate setups.
3. Mandatory Inputs Causing Errors — Large forms coupled with required inputs, lead to frequent errors when setup data was incomplete or arrived piecemeal.
4. Inability to Skip or Revisit Specific Steps — Engineers lacked the flexibility to revisit or skip steps at will, and instead had to cycle through each step to go backwards. This created bottlenecks that delayed progress, decreased efficiency, and elevated frustrations.
The need for change became clear as engineers repeatedly voiced their frustrations with the rigidity of the linear flow. The existing system forced them to complete each step in sequence, which became a significant bottleneck when data arrived piecemeal (nearly every time). These complaints were consistent and widespread, underscoring the urgency of rethinking the data trade assembly process. Addressing these challenges required rethinking the workflow entirely, creating a system that balanced the flexibility of non-linear navigation with the clarity and structure necessary for complex data trade assembly.
To tackle these challenges, I took a structured and user-centered approach that emphasized flexibility and responsiveness.
The process began with a collaborative design charrette, where I worked closely with product managers, engineers, and stakeholders to gather feedback and align on the problem space. These discussions provided invaluable insights from engineers who regularly used the system, reinforcing the need for a solution that could accommodate incomplete data and allow users to revisit or skip steps as needed. This charrette helped frame the core problem and established a strong foundation for exploring potential solutions.
Following the charrette, I began assembling rough views to support a modular, non-linear assembly process, drawing inspiration from “choose your own adventure” narratives. This approach allowed users to address steps in any order, revisiting and refining them as data became available. Using our just-in-time (JIT) adapted sprint process, I incorporated feedback and technical considerations at every stage of development, ensuring the designs aligned with both user needs and system capabilities.
Collaboration with engineers was crucial throughout the process. Their input not only helped shape the interactions and designs but also ensured the new approach could be implemented within the existing architecture without overstepping our technical limits. By breaking down the redesign into smaller, incremental deliverables, we were able to test and refine functionality in manageable chunks, reducing risk and accelerating delivery.
Our deployed solution introduced a reimagined data trade assembly process that combined modularity, flexibility, and clarity. Key features included:
1. Sidebars and Widgets — A dedicated sidebar was introduced for each unique element of a data trade, serving as a quick-glance hub that provided users with a clear overview of trade details. The sidebar also offered a new, yet familiar, way to drill deeper into settings and make modifications efficiently. Depending on its purpose, each sidebar featured a range of widgets that displayed corresponding data or functionality, enabling users to quickly access and adjust specific controls with ease.
Example sidebar elements — users can set their own sidbar widgets based on what's important to
them
2. Contextual Modals — The application's existing modal functionality was leveraged to enable fast, contextual changes to data. This allowed users to make adjustments without leaving their current location in the app, effectively pulling functionality from across the application into the workspace they were actively using.
Modifying the core details of a trade (L) and editing a sidebar widget (R)
3. Activation Toggles — A toggle feature was introduced, giving users the ability to turn trades on and off at will. This allowed them to decide when a trade had met the criteria for data transmission, eliminating the need to complete long forms that ended with an immediate deployment and enabling a more deliberate, user-controlled process.
Simple sidebar element to facilitate turninf on and off a relay — double confirmation ensures no
unintended loss of data
These enhancements empowered engineers to manage their workflows with greater flexibility and precision. By introducing intuitive tools for navigation, contextual editing, and trade activation, the redesigned system effectively addressed user frustrations, transforming a previously rigid process into an efficient and user-friendly experience. Moreover, this design pattern began influencing other areas of the application, extending similar freedoms and efficiencies across the platform.
A relay with the new sidbar
An endpoint with the new sidebar
The redesign of the data trade assembly process had a transformative effect on both user workflows and the application as a whole:
1. Improved Flexibility and Efficiency — Engineers gained the ability to navigate and modify trade details more simply, resulting in a significant reduction in setup time. By decoupling steps and integrating functionality into existing editing flows, the process adapted to real-world workflows, accommodating incomplete or piecemeal data effortlessly.
2. Enhanced User Confidence — Features like the sidebar and activation toggle provided clear feedback and control, enabling engineers to make informed decisions about trade readiness. This led to increased confidence in the system and reduced frustration.
3. Reduced Errors and Delays — By allowing users to revisit, skip, and edit trade components contextually, the system minimized errors caused by incomplete forms and rigid sequencing. This ensured smoother and faster trade assembly with fewer interruptions.
4. Ripple Effect Across the Application — The modular design pattern introduced here began influencing other areas of the application, spreading its benefits of flexibility and efficiency to additional workflows. This systemic improvement elevated the overall user experience.
This work not only resolved immediate user pain points but also set a precedent for flexible, user-centered workflows throughout the application, driving meaningful and lasting improvements for engineers and the platform alike.
This project underscored the importance of designing systems that align with real-world user workflows rather than forcing users to adapt to rigid processes. By engaging directly with engineers and leveraging their feedback, I was able to identify core frustrations and craft a solution that offered both flexibility and control. The result was a system that not only addressed immediate pain points but also empowered users to work more efficiently and confidently.
A key lesson from this project was the critical role of flexibility in enhancing usability. Decoupling rigid workflows and integrating modular, contextual tools allowed users to adapt to changing needs, ultimately improving their experience and reducing inefficiencies. Additionally, this work demonstrated the power of scalable design patterns. The solutions developed here extended beyond their initial scope, influencing other areas of the application and driving system-wide improvements.
Overall, this project reinforced the value of iterative collaboration and user-focused design. By remaining responsive to user feedback and focusing on practical solutions, I was able to deliver both immediate results and long-term benefits for the platform and its users.