The holy grail of biology and chemistry is a system that can design any molecule you want. How does one create this system?
The naive way to build it is to write a test for the property you want and loop over every possible molecule until one passes. However, brute force isn’t very practical, so instead we can train a model to sample molecules from the answer space directly, just like how LLMs are trained to sample text from text space that answers your questions.
In order to train such a model, you must scale data and compute. The bitter lesson says methods that leverage computation win whenever there’s data to scale against, and we see no reason molecules are the exception. Many people conclude that molecular data is impossible to scale, so look for niche search spaces within molecular discovery, or use structured search approaches. We think there’s no physics-limiting reason for biological data to be slow and expensive.
This post is about how we built out lab in the search of maximal data for our models.
Why we couldn’t use CROs
The obvious first move is to use CROs. CROs are businesses that specialize purely in running experiments for other people, and conventional thinking would suggest a $100B market has reached a decent level of efficiency by now, and if that’s true, almost nobody should run experiments in-house, especially not a startup. We thought this too, but to be sure, we sent standardized specs to nearly 40 vendors across the US, China, the UK, India, and Ukraine, covering the full spectrum from $15B+ giants to small university labs.
We got quotes across 3 categories: in-vivo testing, biochemical assays, and chemical synthesis. We chose precisely defined, basic high-volume assays that they would have experience in. Then we measured their time and costs.
Figure 1
CRO outreach: 15 of 39 delivered on-spec
Responses from 39 contract research organizations · % of total outreach
Figure 2
CRO latency: ~2 days to quote, but 10 months for in-vivo
Quote turnaround across responding CROs, and quoted delivery timelines and prices by service type
Quote latency: times ranged from 13 h to 208 h, median 46 h, mean 73 h, standard deviation 66 h.
Delivery latency: For in-vivo work, their timelines ranged 6-12 months, median 10 months. Biochemical assays ranged 1-8 weeks, median 2 weeks. Synthesis ranged 5-9 weeks, median 8 weeks.
Price: For in-vivo work, median cost was $289k, mean $326k. Biochemical assays ranged from $11.7k to $169k, median $26k. Synthesis ranged from $31k to $69k with a median of $34k.
We realized that CRO’s are built for rich companies who can wait. With our seed funding, we would have gone broke just to test a few hundred compounds in-vivo, which wouldn’t be nearly enough to hill-climb for our models. Plus, it would take an exorbitant amount of time. What we really wanted was a fast, cheap API, that would enable us to rapidly iterate our tech and generate data for our models. We’d have to build this ourselves.
How to build an 8000 sqft lab in 30 days
Find a location
The first step of building a lab is to find a location for it. This matters quite a lot, because without high vertical integration, you depend on dozens of suppliers, and the rate at which you stand up experiments is often bottlenecked by shipping times rather than by how fast you work. So the goal was: get as close to suppliers as physically possible.
We got lucky. There was an 8,000 sqft opening in the same building as two of the suppliers very useful to us: a robotics company that builds liquid handlers and other lab automation equipment, and a chemical synthesis company with very reasonable prices. It was even within a 20 minute drive of one of MedChemExpress’s largest warehouses. So we jumped on this opportunity, signing the full 8000 sqft plot. This meant our theoretical latency floor was close to as low as we could get without fully vertically integrating.
Design the lab
We designed the lab with two things in mind: capability and speed of construction.
Capability:
Capability means two things: the lab has to be extensible, and it has to be able to generate as much data as possible.
Since we knew that scaling production would require lots of change, we didn’t want our design to lock us into particular workflows or prevent us from automating. Therefore, we opted for open layout, no built-in lab benches, and liberal coverage of water, electricity and ethernet. Utilities come from the ceiling with draw-downs rather than from the floor, so any station can be moved, or replaced by a robot without touching the design.
Maximizing potential data generation is hard, because we don’t know exactly which protocols we’d be running, especially not in the future. We needed an abstraction that covered most of them in order to inform design. The one we found is dose-response. Dose-response is essentially the answer to the question “how does this compound affect something else,” which is understandably very useful for a team designing molecules, and it comprises the majority of economically valuable experiments people run. Every dose-response assay can be boiled down to the following:
(i) make test subjects (express a protein, culture cells, rear insects),
(ii) dose them with the compound at a series of concentrations,
(iii) observe at set time intervals.
Once you see that, the throughput of a dose-response lab is bounded by five things:
- The number of isolated environments you can store, so that subjects receiving different doses can’t mix.
- The rate that you can produce test subjects (e.g. cells, insects, proteins)
- The rate at which you have compounds to test
- The rate at which you can dose subjects.
- The rate at which you can observe subjects.
For the building, those five bottlenecks turn into three design problems:
Air flow: Keeping subjects clean is crucial. Because compound potency can go down to picomolar, a single microgram aerosolized in the wrong room can poison an entire batch of subjects. In order to keep subjects clean, rooms are grouped into modules by the concentration of compounds in them, and air pressure runs opposite to concentration so that air always flows toward the dirtiest area, which exhausts directly outside the building. We designed the air handling, purification, and air conditioning system ourselves.
Sizing. Of the five bottlenecks, the one that scales most directly with floor area is the number of isolated environments. In practice, “isolated environments” means ANSI-format plates, which come in standard footprints and carry 6 to 1,536 wells, 96 being the most common. So we sized the lab backwards from plate storage: pick a target number of compounds to best tested per day, multiply out doses, replicates and days of observation to get the number of plates that have to be stored at any given time, then convert that to incubator and shelf volume, and that fixes the area of the dosing and storage modules. Dosing and observation are then sized to feed and drain that plate volume, which scale a lot more efficiently with floor area. The result is a lab that can handle producing and testing about 2,000 unique compounds a day across multiple subjects.
Synthesis in-house. Latency for testing a new compound is important, and if every compound ships in from a vendor the floor on that latency is the shipping time and their synthesis / packaging time, which we can’t easily control. So we allocated a portion of the floor to chemical synthesis.
Build it fast
Building fast means minimizing time spent waiting. Typically there are two sources of waiting: chemistry (waiting for things to dry like paint or concrete), and customized parts from suppliers (e.g. custom sizing for tabletops, doors, etc). Essentially, the limiting factor should be labor, since labor can be scaled, whereas it’s not as easy to speed up the rate at which concrete dries.
That made us realize something: the floor doesn’t need to be raised. Open-plan labs usually raise the floor so they can bury water, drainage and power, but this means if anything goes wrong with the utilities, you have to jackhammer the floor open, and it would also take valuable time to fill, level, and dry the raised floor. We opted instead to put our utilities, including water, in the ceiling. Since drainage has to be low, we created a few strategically placed wet walls, on the north, west and east walls, that carry the drainage lines. This meant our utility coverage was close to perfect while avoiding a huge time sink.
To minimize time spent waiting, we tried to buy everything prefabricated. We used stock doors, stock wall panels, stock floor panels. The walls are prefabricated, fireproof magnesium panels that piece together like legos. We even found prefabricated panels for our explosion-proof reagent storage room. We ordered things before our landlord approved construction, timing everything so that materials arrived right at the start date.
The floorplan
Figure 3
Lab airflow & zoning
Air moves from the positive east wing, through the neutral automation core, and out through the negative synthesis zone’s chemistry exhaust.
Getting it built
We found it very difficult to communicate these requirements to lab designers. Every round of back-and-forth was expensive and slow. And in the process of explaining our design, we essentially ended up drawing out the lab ourselves. We decided to learn AutoCAD and drew out the entire lab, including piping, drainage and HVAC, in the same time it took the designer to produce a draft. We took our drawings to our construction company, who finalized them into construction diagrams in a few days.
Lab Today
Construction began on September 3rd It finished on October 1st 2026.
We’re ramping production right now, and currently able to test 120 unique compounds across insects, cells, and proteins, per week, fully in-house with low latency.
Comparing this to the CRO quotes from earlier: the fastest quote we got for an in-vivo study of 120 compounds was 6 months, and the median was 10. At our current rate, we test that many compounds in about a week, across insects, cells and proteins, without waiting on a quote or on shipping. On the same biochemical assay we asked from the CRO’s, 120 compounds takes us around 15 hours to get through, whereas an $80B CRO quoted us 2 weeks.
Our lab allows us to iterate and generate data for our models orders of magnitude faster than if we relied on CRO’s. We train a checkpoint, and get an in-vivo hitrate for its predicted compounds in around 72 hours. This speed wouldn’t be possible without our lab.
Our plate reader
We realized in order to test 2000 compounds per day across 5 different test subjects, we would need at least 100 plate readers. An entry level plate reader costs around $15,000, which means $1,500,000 on plate readers alone. This didn’t seem right to us, since a plate reader really isn’t that complicated. We quickly drew up a design and had a prototype in 2 weeks (left), which is around the lead time of buying one brand new. The prototype cost around $150 in materials. Our second version cost $180, which has a motorized tray. Our third version will be produced at scale at our lab.
We validated it against a Thermo Scientific Varioskan ALF, reading the same 96-well plate on both at 630 nm. The agreement isn’t perfect, but it’s good enough for the majority of assays we run, especially kinetic ones, where what matters is how a signal changes over time. And ours reads up to 1536-well plates natively.
Figure 4
Our plate reader against a Varioskan ALF
Absorbance at 630 nm for the same wells on both readers. Hover a point for its well.
Final thoughts
Building the lab was a necessary step in our broader ambition to solve molecular discovery. But to us, scaling the data efficiency of our lab is just as important as building it. A lab exists to turn resources into information, and for a team betting on the bitter lesson, the only information that matters is what makes the model better at predicting the results of the lab. Those aren’t the same thing.
In an upcoming blogpost, we’ll explain how we measure what a lab actually produces, in bits per unit of resource, why that number tracks model improvement exactly, and how Labwell turns the lab into something a model can schedule, run and learn from directly. The lab took 30 days to build. Teaching it to optimize itself is how we’re keeping the momentum going.