One procedure built · the next ones in order

A camera on the bench
that says what is happening.

ChemLabs is a vision system for chemical procedures. Put a camera on the bench and it watches the apparatus, tracks it in real time, announces the moments that need a hand, and keeps the record. The first procedure is built and shown today: draining a separatory funnel, where it tells you when to close the valve. Titration is next.

118 ms median time to a decision, inside a 600 ms budget
25,476 decided frames, none over the budget
0 decisions made before their evidence arrived, in 22,513
0 / 20,092 times it said "I cannot see" and gave a value anyway

All four are our own measurements of the funnel procedure, made in-house in September 2026. See the benchmark section for what they mean and what they do not.

How it works

A camera does not wait. Everything in the system is built around that one fact, and every timing number on this page depends on it being true.

THE CLOCK

Frames are never queued

Frames arrive at the camera's own rate. If the system is not ready for one, that frame is dropped and counted. Falling behind costs frames, never time, so an announcement is never late because of a backlog.

THE MODEL

A small model that sees the apparatus

Our trained perception model finds the glassware and the liquid in every frame while the procedure runs. Each result is stamped with its age. Nothing is precomputed; the video is understood as it happens.

THE RULE

Silence beats a guess

If the outline of the funnel it is measuring against is older than 1.2 seconds, the system refuses the measurement and goes quiet rather than guessing. And a decision never waits longer than 600 ms; the measured median is 118 ms. In 20,092 such refusals, not one carried a value. What you hear is either current or absent.

Benchmark

To us, a benchmark means this: the best published models and ours, on the same footage, held to the same requirements, scored against ground truth marked by a person, and kept running as models change. That comparative benchmark is being built. It needs ground truth that mostly does not exist yet, and we are collecting it.

What is on this page today is narrower, and we want to say so plainly: these are our own measurements of our own system on our own footage. The requirements were written down before the code, and every number comes from a run folder that ships with the command that produced it. They show that the system is fast and honest about what it sees. They do not yet show how it compares with anyone else's.

What we required, and what we measured

Separatory-funnel procedure, six development videos, replayed at real speed.

What we requiredHeld?What we measured
Every frame is either processed or counted as dropped. None goes missing.YES scheduled = processed + dropped, exactly, in all 14 runs
An announcement follows the frame that justifies it within 200 ms in the typical case and 300 ms in the slow tail.YES, 6 of 6 videos worst typical (median) 178.9 ms · worst slow tail (95th percentile) 270.5 ms
No decision is made before the evidence for it has arrived.YES 0 violations in 22,513 decisions
Memory stays flat over a long run.YES +22.3 MB across a 630 s replay
When the system refuses to answer, it gives no value at all.YES 0 of 20,092 refusals carried a value
Under load it drops frames, not deadlines.YES every drop counted · 0 announcements past the limit

Why we trained our own model instead of running a large one

The question that matters at the bench is not accuracy on a saved picture. It is whether the system says anything at all while the clock is running and it has to pay for its own computation. We tested that by putting a large, published, general-purpose vision model in the live loop in place of ours.

What sees the framesAnnouncementsDecisionsWhat happened
A large published vision model, running live 01,027 Each result took about 2.1 s to compute. By the time it landed it was older than the 1.2 s the tracker allows, so every result was thrown away. The system stayed silent for the whole run.
Our trained perception model, running live 3,159 The same six videos, at real speed, with nothing computed ahead of time.

Both runs used the same videos at true real time, with no speed-up and every input paid for as it arrived. The small model is not an optimisation; without it there is no system.

What does not work yet, stated plainly

The moment the system calls "stop draining" is not yet stable from run to run. On one video it fired at 9.08 s where a person had marked 11.72 s, and a second run of the same configuration the same afternoon fired at 6.96 s. On the best video the system reached a decision on only 26 % of frames under the current rules. The demo clip has no ground truth at all: the timings shown in it are the system's own readings, not scores. And the development videos are 24 to 30 frames per second, not the 60 or more the requirement names. Nothing on this page is a claim until it sits in an experiment folder with the command that made it.

Procedures

One procedure is built. The rest are planned, in the order below: the ones a camera can be taught first come first. For the planned ones we say what the camera would watch and announce, and nothing about how well, because none of them has been built or measured.

Built and shown today

  1. Separatory-funnel extraction. The camera watches the boundary between the two liquid layers approach the stopcock and tells the chemist when to close the valve: a warning first, then a confirmation once the lower layer has left the cone. This is the procedure on the demo page.

Planned next, in this order

  1. Titration. The camera watches the flask for the first colour change that stays, and announces the endpoint so the burette is stopped on the right drop.
  2. Thin-layer chromatography. The camera watches the solvent front climb the plate and says when it is time to take the plate out of the chamber.
  3. Column chromatography. The camera watches the solvent level above the silica, warns before the column runs dry, and says when a fraction tube is full.
  4. Reflux. The camera sees the ring of condensation in the condenser, starts the reflux timer when it appears, and warns if the ring climbs too high.
  5. Vacuum filtration. The camera checks that the vacuum was broken before the pump was switched off, and notes when the filter cake has stopped dripping.
  6. Rotary evaporation. The camera watches the receiving flask fill and stop, and flags a bump into the trap.
  7. Liquid transfers and pipetting. The camera confirms that liquid actually moved between vessels, not just that the motion was made, and logs the transfer.
  8. Distillation and hot-plate heating. The camera watches the pot level, the stirring vortex and the plate so nothing is heated dry or left unattended.
  9. Compliance logging across all of the above. Every announced event is timestamped and written to the record, so the account of a procedure is made by the camera, not typed in afterwards.

Why a camera on the bench

Every laboratory procedure ends the same way: somebody writes down what they did. In a regulated lab a second person often stands beside them so the record can be trusted. That record is what an inspector reads, and writing it is time no scientist was hired for.

The cost of getting the record wrong is rising. The US FDA sent 303 warning letters to drug and biologics makers in fiscal 2025, 59 % more than the year before, and one of the four most-cited failures was the review of batch records and the investigation of discrepancies. Data integrity has been the most common theme in those letters for years.

So we put a camera on the bench, or on the operator, and let it do the writing. It watches the procedure, announces the moments that need a hand, and keeps a time-stamped record that can flow into the lab's notebook or quality system. The same record lets a new operator ask “is this being done right?”, and, later, gives a robot arm the eyes it needs to do the procedure itself.

Somebody already does this job by hand, and it is measurable. A second nurse checking one medication takes six and a half minutes, and in the study that watched them, the check the rules required caught nothing — because a person standing beside a colleague is almost never checking independently. In clinical trials, half the cost of good-practice work is one person verifying that the record matches what happened. An instrument that watches does not get tired, and it does not know what answer it is supposed to see.

We are not inventing a market. Laboratories already pay for software that stores what they did and for automation that does it for them, and both budgets are growing. The two fastest-growing neighbours — computer vision in healthcare and industrial smart glasses — are the technology and the hardware this product is built on. What none of those products does yet is perceive the procedure itself. That is the piece we build.

Nine markets this product sits between, each at its base year and its published forecast, with the annual growth rate the publisher reports. The forecasts are theirs, not ours. Sources, in bar order — Machine vision, all industries: MarketsandMarkets, “Machine Vision Market worth $23.63 billion in 2030”; Lab automation: MarketsandMarkets, “Lab Automation Market … Global Forecast to 2031”, May 2026; Laboratory software (LIMS, ELN, CDS): MarketsandMarkets, December 2025; Computer vision in healthcare: MarketsandMarkets, May 2025; Pharmaceutical manufacturing software: MarketsandMarkets; Laboratory robotics: The Business Research Company, “Laboratory Robotics Market Report 2026”; Pharmaceutical quality management software: MarketsandMarkets, November 2025; Smart glasses: MarketsandMarkets, September 2024; Electronic lab notebooks: MarketsandMarkets, June 2025.

The numbers behind that

50 %

of the good-practice cost of a phase III trial goes to one activity: a person checking that what was written down matches what happened.

Tudur Smith et al., PLoS ONE, 2012

24.3 %

a year: computer vision in healthcare, from USD 3.93 billion in 2024 to USD 14.39 billion in 2030.

MarketsandMarkets, May 2025

29.4 %

a year: smart glasses, from USD 1.22 billion in 2025 to USD 4.13 billion in 2030 — the hardware for a camera that travels with the operator.

MarketsandMarkets, September 2024

The figures above are other people's published research, not ours. Nothing here claims anything about how well our own system works; for that, see the benchmark section, which says exactly what we measured and what we did not.

Questions we are asked

Short answers. Every number below was measured in-house in September 2026 on the funnel procedure, and nothing is claimed that was not measured.

Why are you doing this?

Because the record is the bottleneck. Writing down what happened, and having a second person verify it, costs a regulated lab real time, and getting it wrong costs more — FDA warning letters to drug makers rose 59 % in fiscal 2025, with batch-record review among the most-cited failures. A camera that perceives the procedure can make that record itself. The numbers and their sources are in why a camera on the bench.

What does the setup look like?

A camera on the bench, on a stand, at an angle that gives it a clear view of the apparatus. Nothing is attached to the glassware and nothing about the procedure changes. The camera feeds a computer with a graphics card; our measurements were made on a laptop with an RTX 5070 Ti.

What do I see while it runs?

The live footage with the tracking drawn on it, and the announcements in words. On the funnel procedure that means the outline of the funnel, the fill line, the boundary between the layers and the valve line drawn on the picture, and two messages: a warning ("close the valve in about 0.6 s") and then a confirmation once the lower layer has left the cone. When the system cannot see well enough, it draws nothing and says nothing, instead of showing a line it is not sure of.

What is saved, and where?

Two things: the timestamp of every announced event, and the annotated recording of the run. The plan is to write both to storage you already own and choose, such as your lab's own drive or electronic notebook, so the record never has to leave your site. That storage link is planned, not shipped; today the events and the recording are written to files on the computer running the system.

Which procedures?

One is built: the separatory-funnel drain, which is what the demo shows. Planned next, in order: titration, thin-layer chromatography, column chromatography, reflux, vacuum filtration, rotary evaporation, liquid transfers and pipetting, distillation and hot-plate heating, and a compliance log across all of them. Each is described in one sentence in the procedures section.

How do I get a demo?

Apply on the request page with your name, organisation and email. We read every request by hand. When it is approved you get one email with a private link that works for a set number of views. The demo is a recorded run of the funnel procedure: the original footage, what the model sees, and the system's output, side by side, with the facts and caveats written under it.

Does it need my data to be trained?

Not to start: the funnel procedure works as shown without any footage from you. But every bench is different in its light, camera position and glassware, and the system can be adapted to a lab's own footage so that it learns that bench. We treat that adaptation as part of the product rather than a workaround. We do not yet have numbers on how much it helps, so we make no claim about that here.

Does this allow robotic applications?

Yes, in principle, because the system sees and decides in real time. Measured in-house in September 2026 on the funnel procedure: our trained perception model takes 45.7 ms per frame in the typical case and 64.1 ms in the slow tail on a laptop RTX 5070 Ti; the tracking code adds 19 to 40 ms per frame on our bench clip; and the announcement decision has never exceeded its 600 ms budget in 25,476 decided frames, with a median of 118 ms. On the demo clip the warning came 0.75 s before the lower layer left the funnel and the confirmation 0.71 s after the warning.

How would it allow a robotic application?

By supplying the task-level signal, not the motor signal. A robot arm's own motor loop runs hundreds to a thousand times a second, and this system does not feed that loop. What it supplies is what a person at the bench would supply: where the boundary is, when to close the valve, a warning and then a confirmation. It does so about 20 times a second, with a decision inside 600 ms, which is the pace at which an operator or a task planner acts. Connecting it to an arm's controller is future work, not a shipped feature.

Which other applications?

Beyond the procedures themselves, two things the same camera makes possible. First, a compliance record: because every event is announced with a timestamp, the account of a run is written by the camera as it happens, not by a person afterwards. Second, a vision layer for robots doing chemistry, as described above. Both grow with each procedure added to the list; neither is a separate product.

Join the waitlist

Occasional notes when a procedure reaches the bench or a measurement changes. No cadence promised, no list sharing.

Join the waitlist

One address, one line. Nothing else is asked for.

Contact

Questions about the method, the numbers, or running this on your own footage. We reply to everything.

Write to us