Under the hood
Compact, practical articles on data engineering, machine learning, AI systems, and biopharma.
One guard beats fifty route checks
How LibrisVault's read-only demo mode is a single request hook instead of per-route logic. The tests target the boundary itself rather than a list of routes.
The signal was in the six percent
A machine-learning search over impedance measurements found the one component that reads a vesicle's surface proteins. It adds almost nothing to the total.
What 273 studies agree on
A meta-analysis of combination nanomedicine puts effect sizes on a formulation decision. Its most useful findings are the negative ones.
When a 0.976 ROC-AUC means nothing
Group-wise validation and leakage guards in AssayVault's OOS risk model. Why it reports a shiny number and refuses to brag about it.
The deploy that only half happened
A frontend rebuild under a running service left the dashboard full of 404s. A small debugging story about boot-time snapshots.
The permission callback that never fired
Why LibrisVault trusts the OS sandbox instead of the SDK permission layer. The measurement that settled it.
Tuning on the test set without noticing
Choosing a hyperparameter on the same folds that report the score inflates it. Nested cross-validation is what restores the separation.
Your random split is lying to you
Data leakage explained from first principles. Why AssayVault validates its OOS model with GroupKFold over molecules instead of random rows.
When two percent of events are the ones that matter
Rare out-of-specification events break accuracy as a metric. The honest deliverable is a curve plus a threshold chosen with the person who pays for the errors.
What lasso, ridge, and boosting actually do
A field guide to the terms behind AssayVault's model choice, from capacity and shrinkage to calibration and proper scoring rules.
Ninety-seven percent of your LNPs never deliver
Endosomal escape is a rare event that the field cannot yet compare across labs. A look at what is known and what is missing.
When the AI antibodies were graded blind
A CASP-style benchmark tested 511 computationally designed antibodies under uniform conditions. The results are a lesson in how to evaluate a model.
Why the boring model won
Under the hood of AssayVault's OOS risk model. Why a regularized logistic regression beats gradient boosting when the answer has to be defended.
The penalty needs a ruler
Regularization measures coefficients and coefficients carry units. That is why standardization belongs to the model rather than to cosmetics.
Prove your pipeline twice
Two independent implementations of one fact table. A mutation harness then checks whether the tests would notice a wrong constant.
The protein corona that isn't there
Textbook nanoparticle behaviour does not transfer to lipid nanoparticles. A cryo-TEM study and one elegant control experiment explain why.
The stability rulebook is being rewritten
ICH is consolidating the Q1A to Q1E series and Q5C into a single stability guideline. What that means for anyone whose shelf-life logic lives in code.
How a page becomes a vector
Two encodings of the same text, sparse and dense, because each is blind where the other sees. Which one a corpus needs is a measurement, not a principle.
What a UMAP of chemical space can't tell you
The map of nearly two thousand molecules looks like insight. Here is what neighborhood really means in a fingerprint projection and which distances are fiction.
How a molecule becomes a vector
ECFP fingerprints turn a structure into a bit vector. The hashing trick and Tanimoto similarity are what make that comparison work at warehouse scale.
How a recipe becomes a row
Encoding decides what a model can learn about a formulation, which is why AssayVault's excipient bridge table is the feature encoding and not just a data model.
Your spec is a slowly changing dimension
Why AssayVault evaluates every result against the limit in force on its measurement date. What Kimball has to do with GxP.
When similar molecules disagree
How SARVault finds the compound pairs that break SAR intuition in ChEMBL data, with RDKit fingerprints and a warehouse query.
The words every model note assumes
A short glossary for the other notes: rows, features, folds and hyperparameters. It also covers why a model is never graded on the data it learned from.
Your stability data needs a contract
What pandera schemas catch at the door that dashboards never show. Why quarantine beats silent coercion.
The agent doesn't get to invent categories
How LibrisVault prevents ontology drift in an agent-maintained knowledge base with closed sets, explicit proposals, and a human veto.
Three databases, one molecule
ChEMBL, UniChem, and PDBe disagree about what counts as the same compound. On InChIKeys, salt forms, and why integration is chemistry before it is SQL.
Averaging IC50 values
Why averaging IC50 values fabricates SAR. How to aggregate public bioactivity data honestly.