A quick note on versioning before we dive in, because it's easy to get these threads crossed. Our v2.5 release in April was the big infrastructure milestone where web and XR users finally landed in the same live sessions. v2.5 also brought trajectory playback, the Torsion Tool, Projects and permissions into the fold. While we try to keep web and XR in lockstep, the web app technically has its own versioning and can have its own release cadence.
This week, we're hitting the 1.0 milestone for the Nanome Web App.
Under the hood, this release is a from-the-studs rewrite of how MARA plans, calls tools, and runs workflows, sitting on top of a pile of UX wins that make the day-to-day a lot less clicky.
Quick context for anyone new: MARA is Nanome's AI scientific co-pilot. It lives at app.nanome.ai and orchestrates 300+ tools across structural biology, cheminformatics, ML, and your own custom code. You ask MARA to do something. MARA plans, calls the right tools, runs them in workspaces, and pushes the results back into XR or the web.
The rewrite, and why it matters
When we first built MARA's tool-calling scaffolding in 2023, base LLMs couldn't reliably call functions on their own. So we wrote our own. Custom prompts, hand-rolled output formats, the works. It got us shipping, but it was load-bearing in places it shouldn't have been.
Native function calling landed in the major model APIs about a year after we shipped that scaffolding. We didn't immediately rip ours out (other priorities, you know how it is), but it's been on the list. With 1.0 we finally did it.
MARA now runs on native function calling and structured outputs across the major providers. The reliability gains are real. Tool selection is sharper because we're riding the path the models were actually trained for.
Tool calls also run in parallel now. Ask MARA to find proteins similar to 1TYL and download five of them, and it pulls all five at the same time before continuing the workflow. Independent steps don't sit waiting on each other anymore.
And because the rewrite normalized how MARA talks to any provider, we bolted on Anthropic models and AWS Bedrock support alongside the existing OpenAI and Azure lineup. So if your enterprise stack lives in Bedrock, or you'd rather route through Anthropic, that's a setting now.
We were early, the models caught up, we upgraded for free
One of our earliest bets was that base LLMs would get dramatically better, and MARA's value would compound rather than depreciate. Build the scaffolding now, ride the model upgrades later.
That keeps playing out. Every flagship model jump makes MARA more capable without us shipping new science. The rewrite is the version of that thesis where even the scaffolding itself got a free upgrade from the ecosystem, because native function calling is just better infrastructure than what we could maintain on our own.
(There's a familiar shape here: when VR headsets first shipped, in-headset browsers were rough, so we built our own to access PDB and other databases from inside Nanome. Eventually OS-level browsers caught up and we got to delete code.)
Better planning, without the context rot
MARA has more than 300 tools. You can't cram all 300 into a prompt without the model losing the thread (context rot is real, and it's expensive). So MARA searches its own tool catalog as it plans.
That search is sharper now. It runs in parallel, looks at both tools and workflows in the same pass, and is more accurate at picking the right ones. And if your request only needs a single tool and MARA finds it on the first try, the planning step gets skipped entirely. Lower latency for the easy stuff, full planning for the hard stuff.
Plan streaming is also back. Before the rewrite, plans appeared incrementally as MARA wrote them. Mid-rewrite this temporarily broke (plans were a single tool call, so you had to wait for the whole thing). It's now streaming again, so you watch the plan form in real time.
Run a tool directly, no workflow required
There's a new slash menu in the chat input. Hit it, search across all 300+ tools, arrow-key down, enter to run. Done.
Why this matters: previously, if you wanted to run a single tool, you either wrapped it in a one-step workflow or prompted MARA carefully enough to call that tool and nothing else. Both worked, neither was great. Now there's a button.
This also extends into web app workspaces. Tools can be invoked directly from a workspace without bouncing back to MARA chat to fire them off.
Workflow Improvements
A handful of small things that add up:
- Inputs collapse by default. Workflows used to show every possible input, including the ones with sensible defaults. Now defaults stay tucked away. A "show all" toggle is there if you want it.
- Extra instructions inline. Before sending a workflow, you can add natural-language instructions in the chat input that target that specific workflow. Fill some inputs by clicking, pass others as "use chain A from the first PDB."
- Drag and drop trajectories. Drop a
.xtcor.dxonto a workspace and you'll be asked which entry to associate it with, instead of having to dig into the entry menu first. - Auto-paired files. Drop
md.pdb(ormd.gro) andmd.xtcat the same time and MARA figures out the structure loads first, then attaches the trajectory to it. Saves the awkward two-step. - Keyboard shortcuts. Cmd/Ctrl+F refocuses the search input in the tool and workflow runner. Cmd/Ctrl+Enter sends a workflow without clicking. Escape closes panels cleanly.
Org management is in the web app now too. You can manage who's in your org and what permissions they have without leaving the workspace. (This one was overdue.)
What 1.0 actually means
The "beta" tag comes off MARA. The reliability bar we'd been holding to for enterprise customers (e.g. Lilly, Sanofi, Chugai, and others) is now the bar everywhere. The architecture is in a place where we can iterate on it confidently.
Try it today at app.nanome.ai.