The work I’m proudest of. tangent/ is an open-source suite that makes scientific computing reproducible and install-free: seven JavaScript modules, built end to end and checked against the reference tools in R and Python. It now has its own home.
suite.tangent.to — the full suite, docs, and architecture.
Why the browser
Almost every device with a browser can already run JavaScript. Put the analysis there and it runs everywhere, with nothing to install and nothing to configure. That is the whole point of the suite: real scientific computing where the audience already is, and results anyone can rerun.
The seven modules
A computational core sits under a higher-level analysis layer:
- Core (MIT):
tangent/linafor linear algebra,/probafor probability,/odefor differential equations,/optfor optimization. - Analysis (GPL-3):
tangent/ds, modeled on scikit-learn, for statistics, ordination, and supervised and unsupervised learning;tangent/mc, modeled on PyMC, for Bayesian computation;tangent/sem(experimental), modeled on lavaan, for structural equation modeling.
The results from ds and mc are checked against the reference implementations in R and Python. Full documentation and the architecture map live at suite.tangent.to.
The notebook
The suite runs anywhere JavaScript does, but it has a home of its own: tangent/note, a local-first notebook interface. Notebooks run in the browser, work offline, and your files stay on your machine, with none of the vendor lock-in of hosted notebooks. It started as a tool for algorithmic music composition and grew into a general home for accessible scientific computing. The suite also runs on Observable and on the Node.js and Deno runtimes.
A short course on Observable walks through the workflow end to end: data science with tangent.