Playground
Learn a paper
Drop a PDF. A language model proposes each value the paper reports as a map entry, with a verbatim quote and its page; you accept or reject each one. No account, no API key.
Your paper: the browser extracts its text and sends the first 120,000 characters to a relay the OpenMaterials maintainers run on Cloudflare. The relay passes the text to Anthropic's API (Claude Opus 4.8) and returns the reply. It saves no paper text. It keeps a request count per IP address and the day's total spend, each for two days, and Cloudflare logs each request. Limits: five papers per address a day, and a daily budget shared by all visitors. Relay source.
Already have a proposal?
A proposal lists the map nodes a paper reports. The page draws the map edges that produce them, here and on the canvas.
For developers
Resolve a method
Type a method or quantity as a paper names it. The matching quantities and operators on the map appear, best match first. It runs in your browser, with no model call.
A sub-map from JSON
A sub-map is a list of edges and the map version they came from. Paste the JSON to render it. Share copies a link that carries the edges in its URL fragment, so no server stores them. Node symbols and formulas load from the live map by id.
Copy as Mermaid gives a flowchart that GitHub renders in Markdown files, issues, and pull requests.
How far apart are two structures?
A content hash tells you whether two configurations are identical. The distance layer measures how far apart they are, with named, versioned metrics and one default.
Each metric on a set of silicon structures
Distance between two sources
Pick two sources. Values they share (same quantity, material,
and units) are compared with curve@1, the symmetric relative L2
distance over the shared temperature range; their materials with
comp@1, the Element Mover's Distance on the Pettifor scale.
How far apart are two materials?
Type two formulas for their comp@1, the Element
Mover's Distance on the Pettifor scale. Zero means the same composition
in any structure: diamond and graphite are both C.
vs.
Try: NaCl vs. KCl · diamond vs. graphite · Si vs. Ge · GaAs vs. GaP · SiO2 vs. GeO2 · Fe vs. Au · Si vs. C3H8O (isopropanol)
A lineage as a link
A lineage record names a result and the inputs and settings that produced it. Share puts the whole record in the URL, and the link reopens it here.
How this works
A lineage record is small. Its identity is its lineage: the output node
on the map, or, when the map has no node for it, a template with its
hyperparameters and setup values. Heavy artifacts stay with their host,
such as MaterialsCodeGraph,
and the record points to them. Paste a record or drop a .json
file, including a record served by MaterialsCodeGraph, to open its data
view: every field of the lineage, its source, where the data lives, and
a link to run it on MaterialsCodeGraph. Share writes the whole record into the
#x= fragment of the URL, so nothing is uploaded or stored. A
link can also carry a set of lineages from one paper, with the
publication metadata stated once; it opens as a list with each
lineage's datasheet below.
.json record here, or click to choose a file.