Developer workflow

BYO Code Flows

Turned a works-on-paper BYO prototype into a developer-grade source -> code -> destination workflow with clearer state, faster testing, and a shippable v1 scope.

Updated Mar 2, 2026

Context
Nexla's BYO workflow served data engineers, platform engineers, and solution architects normalizing messy files without waiting on internal services.
Role & scope
Lead product designer partnering with product, engineering, and operations from discovery through launch.
Outcome
Reframed BYO from a side-panel configuration flow into a developer-grade workspace teams could align on, prototype against, and ship with confidence.

Problem

BYO was powerful, but it behaved like an internal tool:

  • Testing was slow and painful
  • Errors and state were hard to interpret
  • Critical actions were buried or required copy/paste loops
  • Custom code patterns were inconsistent across the product

The real issue was not capability. It was confidence. Users were being asked to do developer-grade work in an interaction model that made mistakes feel likely and expensive.

"Much of it is user experience... the same things that people have complained now for over two years on usability."

Internal review, Nov 2025

"The flow to do that is really counterintuitive... you need to put a file path... hard-coded... then copy/paste."

Internal review, Oct 2025

"The test here is slow and painful... you can't debug... error message is not easy."

Internal review, Oct 2025

Context

The first version used a right-side drawer because it was fast to build on top of an existing panel pattern. That decision lowered early implementation risk, but it broke down in real use.

  • There was too little space for real code work
  • Documentation and controls competed for the same area
  • The overall interaction model became brittle and overly modal

In practice, the setup flow forced repeated context switches before users could validate intent. File access, testing, configuration, and reusable processor selection all lived in separate moments with weak connective tissue.

Approach

I treated the redesign as a workflow architecture problem, not a polish pass. The core design decisions were:

  • Promote custom code to a primary task instead of a side-panel detail
  • Keep runtime feedback and results visible while users edit
  • Use the right rail for contract and runtime configuration only

This created a workspace model that better matched how developers actually think: orient, edit, validate, adjust, and repeat.

Discovery and Evidence

Two additional structural decisions came out of review and prototype work.

First, new flows needed visible guidance on the canvas itself. Users should not have to infer the correct setup sequence from empty space, so new flows begin with a Source -> Code -> Destination scaffold.

Second, the product needed one stable editing model after the initial choice of whether to write new code or select from a reusable library. The mode branch could be explicit, but the experience after that needed to stay predictable.

Solution

The shipped direction combined three changes:

  1. A full-screen, developer-grade workspace with code editor, console feedback, and contract/runtime rail
  2. Template-first flow guidance that made the next step obvious on the canvas
  3. An explicit "write new" vs "select from library" decision that resolved into one stable editing model

"We have multiple patterns in the UI in how we handle the custom code... we need a consistent pattern."

Internal review, Nov 2025

"When I go to provide your own function, we have some code already... Half the screen is documentation... confusing."

Internal review, Nov 2025

The design move was to make the choice explicit up front, then keep users in a single, stable mode with clear CTAs and fewer impossible states.

Implementation

I partnered with engineering around the parts of the workflow where design clarity directly affected feasibility:

  • Selecting files from the chosen folder instead of copying paths manually
  • Keeping folder context visible while coding and testing
  • Defining a state model so valid transitions, warnings, and CTAs stayed coherent

This mattered because the experience needed to be defensible both in the product and in the implementation handoff. The interaction model could not be hand-wavy if the workflow was going to ship cleanly.

Results

The redesign changed BYO from "works on paper" to a workflow teams could align on, prototype against, and ship with confidence.

  • Hidden actions were reduced and the path to a successful test became easier to understand
  • Handoff quality improved because state transitions and runtime expectations were explicit
  • The v1 scope became more credible because the workflow model was clearer

Reflections

The strongest lesson was that developer UX is not just another form problem. Once code became a primary task, the product needed a workspace model, a reliable state model, and defaults that reduced uncertainty without hiding control.

That combination improved trust more than any isolated visual change could have.