A biotech lab tracking every sample — from intake to release — in a single panel, on top of the systems it already ran.
A biotech with 100k samples active at any point in time — and millions on record — across multiple sites and distinct LIMS systems — feeding intake, lab, diagnostics, physicians, management, quality, clients and auditing from the same data: the state of each sample.
From intake to release, each sample passes through systems that don't talk to each other — and the whole picture only exists when someone rebuilds it by hand.
Samples arrive and are registered — each site in its own LIMS, with different standards and fields.
Each stage — analysis, validation, release — updates the local LIMS, isolated from the other systems.
To answer “where is sample X?”, someone consolidates spreadsheets and emails from several systems by hand.
The labs run on Illumina Clarity LIMS — home to the validated workflows, the instrument integrations and years of history. It wasn't built for a modern event-driven architecture, but replacing it would have meant stopping and revalidating the operation.
A Java application served by Tomcat, with Tomcat 9 and OpenJDK 8 as the only supported versions — on dedicated hardware.
Native automation fires command-line calls on each step's triggers. There is no event stream for other systems to consume.
An XML REST API, fine for lab scripts — not for feeding a real-time view of the whole operation.
It's where the clinical operation happens. Migrating would mean revalidating workflows and instrument integrations, with the lab stopped.
The decision: leave the LIMS untouched and extract every event as it happens — the foundation for the dashboard, the insights and the agents.
AWS provides the cloud-native base for scale, isolation and elastic deployment (Docker, Kubernetes, Terraform). ZBRA turns that base into a dashboard that gives real-time visibility to the whole lab operation.
Every event extracted from the LIMS goes through three layers — and each one delivers something the previous one couldn't.
Every state change stored as it arrived: immutable, with source and timestamp.
Events cleaned, deduplicated and reconciled into a common sample-and-step model.
Turnaround against target, queues per step and holds by reason — ready to consume.




The lab's most common question becomes a search — by name, accession or patient. Next to it, what needs attention today: late, on hold and at risk.
The list shows each sample's current stage and time left, filtered by project, test and status. The detail opens alongside, without losing context.
Every workflow, step by step: who ran it, on which instrument, how long it took — and every hold with its reason. The patient's other samples sit side by side.
The bench organizes work by step and instrument. Dragging a card completes the step — one sample or a batch — and every completion becomes a new event.
The lab's most common question becomes a search — by name, accession or patient. Next to it, what needs attention today: late, on hold and at risk.
The list shows each sample's current stage and time left, filtered by project, test and status. The detail opens alongside, without losing context.
Every workflow, step by step: who ran it, on which instrument, how long it took — and every hold with its reason. The patient's other samples sit side by side.
The bench organizes work by step and instrument. Dragging a card completes the step — one sample or a batch — and every completion becomes a new event.
Every number here represents an operational decision now made with the sample's real state in hand — not with a report from two weeks ago.
“We set the bar very high from the start, and ZBRA not only met it but exceeded our expectations. The experience they built is exceptional — and completely changed how we see the operation.”— H.Y., LIMS Director
What changes from client to client are the sources, the stages and the indicators. The approach — capture by event, unify, govern, show on a panel — repeats.
Multiple LIMS, CRM, spreadsheets, events. The platform connects without replacing what already runs.
Every state change is captured in real time, without polling and without impacting the source systems.
A single screen, with search and near-real-time state, as the source of truth for every team.
Permission-based access via SSO, with an audit trail. No more visibility defined by spreadsheet.
Contextual notifications for SLA, stalled samples and volume spikes — before they become delays.
Less time in reports, more visibility and more deadline control. Metric before the pretty panel.
Applicable sectors: clinical labs, diagnostics, biotech, pharmaceuticals, hospitals, healthtech and research — any operation where the state of an item needs to be visible, in real time, across systems that don't talk to each other.
Every event carries the step, instrument, owner and hold reason. Added up, they stop being history and start showing where the operation loses time.


With every state change recorded as a governed event, AI agents read the whole operation, reason about it and act — with the same permissions and the same audit trail as any user.
Reads the reason behind each hold — missing consent, requisition mismatch —, drafts the client contact and follows up until release.
Projects each sample's completion from the real queues at every step and warns before it runs late, suggesting how to reprioritize the bench.
Answers in plain language — “why is cohort B behind?” — citing the samples and events behind the answer.
At the start of every shift, a summary per team and site: what arrived, what got stuck and what is due today.
2 of 11 open samples are late, and both are on hold for the same reason: awaiting second clinical reviewer. With 4 samples in review and one reviewer on shift, the wait is ~26h against a 6h norm.
We build the layer that delivers visibility, scale and control — and the foundation for AI agents, from intake to release.