My wife asked me a simple question: what's the end goal with this cancer research project? I told her the truth. Nothing. There's no end goal. I have nothing to gain and nothing to lose.
Back in June I wrote about why I spent my nights simulating cancer cells in Rust. That post described a corpus of 4,830 papers, a simulation library, and a finished manuscript. The project is about six months old now. AI agents do much of its coding, writing, and checking, with me steering and deciding. The repository has taken nearly three hundred commits since that post, and many of them are the project finding out where it was wrong. This is the update, and the longer version of the answer I gave my wife.
It is not clinical evidence and it is not medical advice. It has not been peer reviewed, and none of the lab experiments it proposes have been run. The simulations are models. They show which way an effect points under stated assumptions. Most of their parameters were chosen rather than measured, so the sizes are rough estimates, not predictions, and the book names the few that are anchored to data.
From a sample to a census
The biggest change came when the project measured itself. Those 4,830 papers turned out to be about a tenth of one percent of the cancer literature indexed in PubMed. They were gathered with hand written keyword searches, and none of those searches looked for ferroptosis or photodynamic therapy, two of the three topics the simulations are built on. Every claim of the form "research is concentrated here" or "this is a gap" had really been a statement about my search terms.
So I threw out the sample and switched to a census of the cancer literature in PubMed: 5,187,265 records, most of them labeled with the National Library of Medicine's own subject headings instead of by my own keyword tagging, and the rest found by matching text because the indexers hadn't reached them yet. It's a snapshot of what PubMed indexes, not everything ever published, and it counts papers, not evidence. But most of the labels now come from the library, not from me, even if deciding which headings count as which topic is still my call.
Changing the denominator changed the answers, not just the sizes:
- In the old sample, immunotherapy had looked like 47.6% of the papers. On the census it accounts for 19.2% of the labels across the sixteen research topics the project tracks, third by raw volume. Chemotherapy, radiation, and surgery aren't among those sixteen, so that isn't a share of all cancer research either. The old headline didn't survive.
- The apparent research gaps, empty cells in a grid of research topic by cancer site, went from 22.5% to 2.1%. The categories changed along with the data, so it isn't a clean comparison, but at this scale nearly every pairing has been written about at least once. That reads like good news about the field, but as the commit that retired the measure put it, it "is news about the instrument."
- Sonodynamic therapy is the ultrasound approach the book's central argument leans on, and the book had put the share of its papers indexed as clinical trials at 4.54%. That figure came from a broad ultrasound subject heading: of the 114 trials filed under it, 112 never mention sonodynamic therapy in their title or abstract, because they tested other ultrasound treatments. Counting the therapy by name gives 4 trials in about 1,400 papers, or 0.29%. The correction made the therapy look much earlier in clinical development than I had reported. It went in anyway.
The manuscript grew with it. It roughly doubled in length and now reads as a 335 page book, and each edition is published as a free PDF on GitHub.
The simulation engine grew too. In June it was mostly a ferroptosis engine, a model of one specific way cells die, and its three treatments (a compound that triggers ferroptosis directly, photodynamic therapy, and sonodynamic therapy) all worked through that one route. A fair criticism was that it only modeled one idea. So the project measured that criticism, agreed with it, and added seven treatments: radiation, chemotherapy, checkpoint blockade, adoptive cell therapy like CAR T, oncolytic viruses, antibody drug conjugates, and ablation. The engine can now run simplified versions of ten treatments on the same simulated tumor. The book says plainly that most of the new ones are uncalibrated placeholders, and it records none of them as feeding the results its quantitative chapters report.
And the project got a new front door. The GitHub Pages site is now a research atlas. You can search those sixteen research topics, from immunotherapy and CAR T cells to mRNA vaccines and CRISPR gene editing, see what share of each topic's papers are indexed as clinical trials, follow publication trends, and trace the numbers back to a dated data snapshot that records a hash of every source file. The first card on the page, labeled latest research check, reports a stress test of the sampling method the project is developing to calibrate its ferroptosis model against lab drug screen data. It ran on synthetic test problems, not on biology, and it failed: seven of nine runs passed, and the study's own rule needed all nine. Putting a failure first is on purpose. One of the section headers puts it plainly: "Show the checks. Keep the failures."
A summer of proving myself wrong
The commit log from the last few months reads like a lab notebook. One recent title: "The crawl could not see 44% of its own subject." A separate crawl of Europe PMC had been searching for the literal word cancer. More than four million records that match other cancer terms, like carcinoma, leukemia, or melanoma, never turned up in a search for that word. The commit measured the gap and widened the search. A few more entries from that notebook:
- In June I wrote that blocking two parallel pathways produced "nearly a 2× synergy" in the model. At its default settings the model still predicts 1.99 times the kill you'd expect if the two drugs acted independently. But when its uncertain inputs are varied across assumed ranges, the typical run gives about 1.35, and the middle 95% of runs span about 1.0 to 5.2. The low end is plain additivity, which means no synergy at all, and a few runs fell below it. None of these numbers comes from lab data. I'm correcting my own post here, because that's the point.
- The model had sonodynamic therapy shrugging off tumor acidity, because it exempted the therapy's sensitizer molecule from the acid penalty it applied to the drug it was compared against. Treating them the same cut the number of tumor cells that simulated sonodynamic therapy killed through ferroptosis by 36%. The effect still pointed the same way, but it was much smaller.
- The book explained a large gap in immune kills between two simulated treatments by saying an immune response had saturated. A direct measurement showed it never came close, so that explanation was withdrawn.
- A feature that tried to discover new links across literatures scored below a simple popularity baseline. That result is published too.
- Chapter 9 describes itself as "the chapter arguing against the rest of the book."
As the book puts it: "A simulation cannot discover that a treatment works." What a simulation can do is show which claims depend on assumptions nobody has measured yet.
Why medicine is skeptical
The medical field isn't ready for AI driven research. People are skeptical that AI can produce accurate results, and I understand why.
In a 2023 Nature survey of more than 1,600 researchers, 66% worried generative AI would bring mistakes or inaccuracies into research papers. The institutions that fund and publish medical research have set limits. The NIH bars its peer reviewers from using generative AI to analyze and critique grant applications, largely to protect review confidentiality. Since 2025 it won't consider applications substantially developed by AI to be the applicants' original ideas, and it warns that "AI use may result in plagiarism, fabricated citations, or other kinds of research misconduct." Medical journals following the ICMJE recommendations won't list an AI as an author, because a tool can't be responsible for the accuracy of the work.
The skepticism was earned. In 2023, researchers asked a chatbot for cancer treatment recommendations and checked the answers against national guidelines. About a third of the answers that recommended something also mixed in at least one treatment the guidelines didn't support. Their conclusion, published in JAMA Oncology: "Clinicians should advise patients that LLM chatbots are not a reliable source of treatment information."
That test used a model that is already outdated, but the lesson stuck, and it should. A model can be confident and wrong in the same sentence, and in medicine, wrong answers hurt people.
At the same time, doctors aren't ignoring AI. The AMA's 2026 physician survey found that physicians' use of AI has roughly doubled since 2023. What they said they need most before adopting it is validation of safety and efficacy, along with assurance that patient data stays private, and among those who picked clinical evidence as one of the most helpful aids, peer reviewed literature was what they looked for most. AI has also earned real trust in science: Demis Hassabis and John Jumper, who led the work on AlphaFold, an AI model that predicts protein structures, shared the 2024 Nobel Prize in Chemistry.
So "not ready" doesn't mean closed. The path is the same one any research takes: publish, disclose how AI was used, put a human name on every claim, and let people with the right expertise check it. A project like mine, where AI agents do much of the coding, writing, and checking, steered by one engineer with no medical degree, starts with all of those doubts stacked against it. It's public and it has my name on it, but the book itself doesn't yet say how AI was used, and nobody with the right expertise has checked it. The default reaction is to assume it's wrong.
How the project tries to earn trust
I'm not an oncologist, and I'll keep saying so. But after more than fifteen years as a software engineer, I sit in an unusual spot: I understand data, and I understand the practices that make software trustworthy. In engineering, we don't trust code because a senior person wrote it. We trust it because it has tests, because it passes review, because anyone can rebuild it from source and get the same result, and because every change has a history. Clinical research has its own versions of those habits, like registering trials before they start, and they rest on the same idea: don't trust who wrote it, check what it does.
So that's how the project runs:
- Nearly every figure is drawn by a committed script, and the numbers trace back to committed code and to public data, most of it PubMed records anyone can download. Where something can't be recomputed from the repository alone, its records say so.
- Well over a thousand automated tests guard the pipeline, and many of the report scripts refuse to overwrite published results when their inputs are bad or missing.
- Random seeds are frozen before the runs, and a checksum manifest fails the automated checks if a committed file changes and the manifest isn't updated to match.
- Predictions for lab experiments nobody has run yet are written down in advance, along with what it would mean if they fail. For now their only timestamp is the public commit history; registering them with an outside registry is still pending.
- Findings in the book sit next to a box labeled "What this does not show."
- Mistakes stay in the history. Withdrawn claims stay visible in the commit log, and the big ones come with a written reason.
AI is what made the scale possible. I could never have read, coded, and checked this much alone in the hours after my day job. But the engineering is what lets you check it instead of taking my word for it. If AI driven research is going to earn medicine's trust, I think being inspectable is where it starts: the code is public, so anyone can read it and check it against what the book says. Whether the models match real tumors is a separate question, and only experiments can answer it.
So what's the end goal?
What I told my wife is that I know AI can help us. It can help us run simulations, and it can help us review vast amounts of data. Given my engineering background, I can point it at a problem that matters and hold it to the standards I'd hold any production system to. I don't have a goal in mind, and I'm going to keep going.
I have nothing to gain and nothing to lose. If along the way I find a breakthrough and someone discovers the work, that's better for humanity. If I find a bunch of nothing, or roadblocks, or an infinite amount of nothing, that's okay too. Some of what I've found so far is exactly that: gaps that weren't really gaps, effects that shrank under scrutiny, a discovery feature that loses to a popularity baseline. A well documented nothing still has value. It saves the next person from walking down the same dead end.
I also know the models will keep getting better, and because everything is written down, a better model can go back over this work and catch what today's models missed. Instead of wasting my tokens generating funny memes, images, or videos, I know I'm using them for the betterment of humanity.
It belongs to everyone
I'm not seeking a patent or a trademark. The code is MIT licensed, every analysis and every draft of the manuscript is public, and the book is a free PDF. This work is for everyone, and it will always remain free. There's nothing to hide, and I won't hide progress behind legal paperwork. I put the reason in the project's README in its first week, and the book's section on open science opens with it: breakthroughs against diseases that destroy lives "should be a human right, not a revenue stream." The same section says the goal is "contribution, not credit."
Research like this should work the way the polio vaccine and Linux did. On April 12, 1955, the day the polio vaccine trial results were announced, Edward R. Murrow asked Jonas Salk who owned the patent. Salk answered: "Well, the people, I would say. There is no patent. Could you patent the sun?" Lawyers for the foundation that funded the work had concluded it probably couldn't be patented anyway. Salk's vaccine had also just passed its field trial, and nothing in this project has passed a test like that. But the answer is the part that stuck, because it says who the work was for, and that part doesn't have to wait for results.
In August 1991, Linus Torvalds announced a new operating system as "just a hobby, won't be big and professional like gnu." Early the next year he moved it to the GNU General Public License, and he later called that "definitely the best thing I ever did." That hobby grew into software the whole world runs on, and it is still free.
I'm not saying my project is either of those. I'm saying research like this should belong to everyone the way they do. If I'm going to use my skill set to help us all, then that's what I'm going to do.
So I'll keep going, with the failures kept in plain view. The code and the book are on GitHub, the atlas is on GitHub Pages, and the issue tracker is open. If you're a clinician, a researcher, a student, or an engineer and you can poke a hole in any of it, please do. A documented hole is progress too.
Zeke Lares