From Ouro's founder: why the platform's public science services run on Modal, what's already live, and an open invitation to partner so open science tools can stay free and anyone can publish their own.
I'm the founder of Ouro. Almost every service on the platform today runs on Modal, and I want to write down why, partly as a thank-you and partly as an open invitation to partner.
Ouro is built on a simple belief: everyone is a scientist. Not everyone has a lab, a grant, or a title, but everyone can ask a real question, test it honestly, and share what they find so the next person starts further ahead. The method doesn't belong to institutions. It belongs to anyone willing to practice it carefully and in the open.
So Ouro is a place for doing science together. Publish a dataset, a model, a calculation, and let other people (and their agents) build on top of it. A central piece of that is services and routes: a route is a piece of computation with a typed input and output, hosted somewhere, that anyone on Ouro can call, chain, and cite. The output of one route becomes the input of the next. The history of who ran what, on what, is kept.
For most of history, what separated a curious person from a working scientist was access: to instruments, to data, to time. Today the instrument is compute. Folding a protein, sampling a crystal, running a climate ensemble, fitting a model to a decade of telescope data, screening a million molecules against a target: the questions that move humanity forward run on GPUs. If compute is only reachable through an institutional account, "everyone is a scientist" is a slogan. If compute is reachable from a Python file, it becomes a description of how things work.
Modal is the closest thing we've found to compute that is reachable from a Python file, and it is the reason Ouro's first generation of services exists.
Deploying is one command. Every service Ouro has published is a FastAPI app with a @modal.asgi_app() decorator. modal deploy puts it on the internet with a stable URL and an OpenAPI spec. Ouro reads that spec and creates or updates the routes. Change a function signature, redeploy, and the schema on Ouro follows. There is no infrastructure between the code and the person calling it.
GPUs appear when a request comes in and disappear when it's done. An H100 for a diffusion sample, a CPU box for a report, an A100 for a DFT band structure. We pay for the seconds it runs. When nobody is using a service, it costs nothing to keep it published. That is what a long tail of scientific tools needs: used in bursts, idle for weeks, always available.
Images are code. Compiling ABACUS or VASP with CUDA support is hard. On Modal we did it once, wrote it down, and it is reproducible indefinitely. Both recipes are public:
It composes with what Ouro adds. Modal handles compute. Ouro handles what a piece of science needs in order to be shared: who can call it (public, private, organization-only), what it costs to call (routes can be monetized, so the person paying for the GPU doesn't have to be the person who wrote the code), the provenance of every action, and a place for results to live next to the conversation about them.
Ouro started in materials: rare-earth-free magnets, superconductors, thermoelectrics. All of the following are live, callable by anyone on Ouro, and backed by Modal. The age of each on Ouro is in parentheses; the oldest have been running on Modal since June 2025.
Generative models
Property prediction
ALIGNN Pretrained Models API: dozens of pretrained models behind one route (6 mo old)
Simulation and analysis
Ouro DFT (ABACUS): GPU-accelerated DFT: bands, DOS, charge density, magnetic anisotropy (2 mo old)
Chained together, these form a discovery loop: generate candidates, screen for stability and synthesizability, run DFT on the survivors, visualize and discuss. All public. All on Modal.
The pattern is not specific to materials. It works the same way for protein structure and docking, genomics pipelines, climate and weather emulators, astronomy image reduction, epidemiological models: anywhere a good idea sits inside a repository because nobody has stood it up as something others can call. Better batteries, cleaner catalysts, new antibiotics, cheaper drugs, a clearer reading of the sky and the ground. Each of these fields has the same gap between "we have a model" and "anyone can use it." Closing that gap, in every field, is what Ouro is for.
Ouro is bootstrapped. Every service above is free to use, and the compute behind it is paid for out of my own pocket. We do it because this is how we think science should work: tools in the open, callable by anyone, each result making the next person's work easier.
We can keep doing that for a while. We can't do it forever, and one company hosting everything was never the point. The goal is for a grad student, a hobbyist, a retired engineer, anyone with a good model, to deploy it on Modal, publish it on Ouro in an afternoon, and have it be used, cited, and if they choose, paid for. Not one team hosting fifteen services. Thousands of people hosting one or two each, across every field.
Ouro would like to partner with Modal. Concretely:
Compute support for the public science services on Ouro, so the tools above stay free and we can keep adding to them.
A path for the community to do the same: credits or sponsorship for researchers who deploy open scientific tools on Modal and publish them on Ouro, in any field.
Making the Modal-to-Ouro path smoother, so that deploying a Modal app and publishing an Ouro route become the same motion.
If you're at Modal and this resonates, I'd like to talk:
And if you have a question worth asking and a model worth sharing, come build with us. Everything above started as one Python file and a modal deploy.
Compiling VASP in Modal with GPU acceleration (10 mo old)
OMatG: crystal structure prediction and de novo generation (8 mo old)
Crystalite: a lightweight EDM diffusion transformer (1 mo old)
GGen: propose, relax, and rank structures across a chemical system (4 mo old)
Crystal-Likeness Score (PU-CGCNN): how synthesizable is this structure? (1 mo old)
Thermoelectrics API: ZT from first principles (phono3py + BoltzTraP2 + ABACUS) (6 mo old)
cifkit: CIF analysis and shareable reports (2 mo old)
MatterViz: interactive structure visualization (1 yr 1 mo old)