My sister is a senior scientist at Sonic Laboratories in Austin. Every batch, she manually reviews 200 patient chromatograms before results go to physicians. Hours of repetitive work, with real quality risk from fatigue by sample 150. That conversation inspired ChromaX. We built an automated pipeline that ingests raw SCIEX instrument files, converts them to mzML, and scores each chromatogram for split peaks, shoulder peaks, baseline drift, ghost peaks, and ion ratio deviations. Each sample is sorted into pass, flag, or human review automatically. The obvious cases clear themselves. The ambiguous ones go into a swipe-based queue where the scientist makes the final call. The hardest challenge was the data plumbing. The standard Python mzML library silently returns zero results on chromatogram-only files. We scrapped it and rebuilt the parser from scratch using ElementTree, manually decoding base64 binary arrays and reimplementing ion trace pairing. That one bug cost us hours. The human-in-the-loop design was intentional. ChromaX does not make clinical decisions autonomously. A scientist still reviews and approves before any result reaches a physician. We built it that way because it is the only version of this tool a lab would actually trust.
Built With
- python
- react.js

Log in or sign up for Devpost to join the conversation.