We cut a UHPLC method from 3 minutes to 1.5, kept all eight analytes resolved, and saved 9 hours per plate.

September 22, 2026

We cut a UHPLC method from 3 minutes to 1.5, kept all eight analytes resolved, and saved 9 hours per plate.

Running a 384-well plate on an unoptimized 3-minute method takes over 19 hours of instrument time. The usual response is that this doesn't matter, because the instrument runs unattended overnight. Nobody is sitting there waiting.

But automation removes the person from the loop, not the time.

A reaction optimization campaign is sequential by definition. Each round depends on the results of the last one. A 19-hour queue means you design on Monday, run on Monday, and read on Wednesday. Across five or six rounds, that is weeks of calendar time spent waiting rather than deciding. It also blocks the instrument for everyone else, and burns solvent every hour it runs.

So we pointed our own optimizer at it.

The setup: an eight-analyte mixture on an Agilent 1290 Infinity III, with eight continuous gradient parameters open for optimization. Initial mobile phase composition, the timing and composition of two gradient setpoints, and the length, start time and composition of the final hold.

What makes this a real optimization problem rather than a tuning exercise is that four objectives pull against each other. Number of resolved peaks. Resolution of the critical pair. Retention time of the final analyte. Total method time. Push on speed and separation degrades. Protect separation and you keep the 19 hours.

Sixteen runs. The campaign progressively compressed the gradient and pulled the final analyte earlier while tracking separation quality throughout, so the tradeoff stayed visible rather than being discovered at the end.

Method development is a multi-objective problem that usually gets solved by experience and one variable at a time. It responds to the same treatment as the chemistry it measures, and the payoff compounds, because every future campaign runs on that method.

We've built this into a template, so any @ReactWise client can run the same workflow on their own method without setting it up from scratch.

Full case study can be found here. If you'd like to see it running on one of your own methods, message me.

‍

Go Back