Tako
Fast materials simulation that runs in your browser. Local first. No calculation server.
This is a first implementation, we are settling the interface, Tako script, and the notebook (Jupyter compatible).
Highlights
- Fast rendering: Over 500 fps on low-end hardware, even with thousands of atoms and isosurfaces. (6K atoms demo)
- Fast calculations: 5× faster than tblite, CP2K on the same class of work.
- Local: All calculations run on your machine, no cloud server.
- Reproducible: All operations are scriptable and reproducible with TakoScript and notebook. (notebook demo)
- Codex auth/ChatGPT login: Built in agent uses codex auth.
- First ever MLIP, tight-binding, DFT, and MLXC runtime in browser. Ready for deployment on ASIC.
Inspiration
BIOVIA Materials Studio showed what an all-in-one materials workspace should feel like: build structures, run calculations, analysis of results in one place instead of a pile of codes.
Rowan (rowansci.com) showed that modern web UX can make quantum chemistry usable and accessible. But sending structures, methods, unpublished results to a cloud simulation service is a huge risk for many labs.
ASE (wiki.fysik.dtu.dk/ase) showed that a single Python interface can unify many calculators, easy to use and provided a lot convenience, simplified automated analysis. Its many LLMs' goto material simulation tool. Its what inspired TakoScript, the serial, inspectable, and agent-friendly scripting kit.
What it does
Model crystals and molecules. Run calculations with MLIP, tight-binding, and DFT all in one place, with our highly optimized engine. Inspect artifacts. Agentic automated workflows.
Editing and creating structures.
- Layered build workflow like Photoshop. A first in material modeling tools.
- Render thoudsands of atoms with isosurfaces in the browser at 120 FPS on low-end hardware. I cannot find higher performance material visualization tools, even much faster then VMD.
Run calculations and analysis.
- Tight binding: g-xTB and GFN2-xTB (optional D4).
- MLIPs: Nequix, NequIP, Equiformer family are optimized.
- DFT: GGA (PBE) and meta-GGA (r2SCAN), plus a machine-learning XC functinal SKALA 1.1.
- Single point, geometry optimization, molecular dynamics, vibrations, phonons, powder XRD, sTDA UV–Vis, transition-state search are all implemented.
Reproducible automation.
- TakoScript All operations are scriptable TakoScripts.js. In fact the UI is built on top of the TakoScript engine. Its designed with agents in mind: its serial and limited in javascript container, hard for agent to cheat, easy for human to check.
notebook (Jupyter-compatible) is first-class. Ensure calculations are reproducible, verifiable and shareable.
Agent Use Codex auth, user can just link their chatgpt account to try.
How we built it
Tako is built on the stack of computational chemistry package in pure and clean Rust.
UI was iterated with frontier models (gpt-5.5, gpt-sol-5.6) toward a one-stop loop: build, calculate, inspect, automate.
I used a lot of LLMs to help me write code, some backend code can be dated back to GPT-3.5 and wolframalpha. All code are reviewed and tested by me and many other LLMs.
Most documentation and tutorials are written by LLMs, I'm still working on making them more useful for human readers and LLMs.
Challenges we ran into
During the build of Agent features, I found Even Sol is not understanding many chemistry concepts and run into safeguards. Simple chemistry questions can hit safety layers, we observed serverly degraded performance from commercial LLMs.
Testing of front-end I have implemented too many featues in the recent days, automated testing can only cover a fractional of cases. I'm actively fixing bugs reported by fellow researchers.
Skala inference is slow. Skala on single zetta basis is still using 3x compute vs plain single zetta basis calculations.
Low parallel efficiency. The current implementation is not well parallelized, especially for the tight-binding theory. Even GPT-Sol-5.6 Ultra give poor parallelization advice and went to many dead ends. I need more token other wise I will loose all hair before achiving a good parallelization efficiency.
Accomplishments that we're proud of
Fast. Chemistry is broadly about 5× faster than packages I compared on the same class of work (tblite, CP2K, ORCA). Even the WASM build often beats the Fortran counterparts.
Local. Science ideas stays on the machine. Share is P2P and end-to-end encrypted.
First MLIP, tight-binding, DFT, MLXC runtime in browser.
Reproducible by design. TakoScript + notebook make calculations reproducible and verifiable. Agents are forced to take a serial, limited TakoScript boundary. Hard to cheat. Easy for a human to audit.
What we learned
Legacy Fortran chemical codebases are well optimized, but the optimization head room is still plenty. Writing Rust made me to think about memory traffic and boundary more clearly, thus the exact same implementation can be much faster.
For agents, a narrow, serial, inspectable execution surface beats a powerful opaque one. Frontier LLMs can cheat and hack for rewards by all means. If the only way to compute is TakoScript and notebook, which is much more restrictive and transparent, the LLMs cheat less and the human can audit more easily.
What's next for Tako
- Parallel execution of backend quantum chemistry engines.
- Settle the interface: UI consistency, TakoScript contracts, notebook / Jupyter compatibility.
- Fully optimized native build for Linux, macOSonce those surfaces stop moving.
- Tidyup the codebase, opensource the entire stack.
- Documentation work.
- More speed on xTB, DFT, and MLIP (browser and later native).
- Fix the UI annoyances and bugs.
Built With
- rust
- solidjs
- typescript
Log in or sign up for Devpost to join the conversation.