OpenMat
The open-source, local-first, AI-native alternative to Mathematica.
Open source. The whole notebook, kernel included, under MIT or Apache-2.0. Read it, fork it, own it.
Local-first. The Rust symbolic kernel runs on your machine: in-process on desktop, as a 530 KB WebAssembly module in the browser. No server, and your notebooks never leave your laptop.
AI-native. Natural language is an input mode, not a plugin: type a sentence and a full notebook writes and evaluates itself, using your own API key or a completely local model. Nobody has shipped this combination before.
make me a notebook exploring the damped pendulum with a slider for the damping
≡ interpreted · 5 cells
The Damped Pendulum
Friction drains energy each swing, so the oscillation decays. Drag c to change how fast.
In[1]:=NDSolve[{x''[t] + c x'[t] + Sin[x[t]] == 0, x[0] == 2, x'[0] == 0}, x, {t, 0, 20}]
1. Energy decay
Type = at the start of any cell, or use the bar at the bottom of the window, and one sentence becomes a real notebook: title, prose, equations, sliders, plots, evaluated in place. Bring your own Anthropic key or run a local Ollama model, fully offline.
Drag it. The math answers.
In OpenMat, every slider re-evaluates through the kernel on each tick. This one is wired up right here on the page: the same damped oscillation the notebook above set up.
What the kernel does today
v0.01 is a young kernel with honest edges: ODEs are scalar first and second order, Solve reaches quadratics. What is listed here works, in the app and in the browser build. The complete notation guide, with real kernel output for every form, is in the language reference.
Symbolic
- D[f, x]
- derivatives
- Integrate[f, x]
- antiderivatives
- Integrate[f, {x, a, b}]
- definite integrals, with trig rules and a numeric fallback when no closed form exists
- Solve[eqn, x]
- exact roots through quadratics
- Expand · Factor · Simplify
- polynomial algebra
Numeric
- Plot[f, {x, a, b}]
- adaptive sampling, legends, asymptote splitting
- ListPlot[data]
- discrete point markers
- NDSolve[{eqs}, x, {t, a, b}]
- first and second order ODEs, Dormand-Prince or SUNDIALS
- Manipulate sliders
- bind any symbol; the cell re-solves live as you drag
Session
- a = 5
- definitions persist across cells
- f[x_] := x^2
- pattern definitions, visible inside Plot and NDSolve
- Clear[a]
- until you say otherwise
- Table[n^2, {n, 1, 8}]
- list construction
Natural language
- = plot sin x from 0 to 10
- one expression, evaluated inline
- = make me a notebook about…
- a full notebook: title, prose, sliders, plots
- Your key or your machine
- Anthropic API key, or a local Ollama model with nothing leaving your laptop
Established at Sundai Hack #134
OpenMat was established at Sundai Hack #134 on August 2nd, 2026: the kernel, the notebook, the v0.01 release, and this site, shipped and presented the same day.
Install
macOS app
- Download OpenMat_0.1.0_aarch64.dmg
- Drag OpenMat to Applications
- First launch: right-click OpenMat.app, choose Open, then Open again
The build is unsigned, which is why macOS asks once. Apple Silicon only for now.
From source
git clone https://github.com/dhve/OpenMat.git cd OpenMat/app && npm install npm run tauri dev # desktop app npm run dev # browser, same kernel
Rust workspace tests: cargo test --workspace. Needs cmake for the vendored SUNDIALS build.