Inspiration

Building a materials dataset means copying measurements out of papers by hand, one table at a time. It’s slow, typos creep in, and the source and experimental conditions get lost. We found a 2018 Nature Communications paper that had re-typed values from Inal et al. 2017 into its own table by hand. AI can read papers fast, but it also makes up plausible numbers, so researchers can’t trust a table they didn’t check themselves.

What it does

Upload materials-science PDFs and list the properties you want, like μC*, volumetric capacitance or conductivity. Datum pulls every value into one table: material, property, value ± error, unit, page, an exact evidence quote, conditions, and the citation reference when the value comes from another paper. Then plain code (no AI) checks each value against the PDF:

the quote exists on the page, and the value is inside the quote table rows are checked cell by cell, so a value can’t be credited to the wrong material units are standardized, and wrong kinds are caught (per-area vs per-volume capacitance)

Every row is marked verified, needs review, or flagged. Click any row to see the original PDF page with the evidence highlighted. Export everything as CSV.

How we built it

Python, Streamlit, PyMuPDF, RapidFuzz and pandas. Extraction runs on Claude Haiku, Cerebras and Groq (gpt-oss-120b), and Gemini, through our own router. It races engines when one is slow, spreads parallel calls across them, backs off on rate limits, and switches off engines that keep failing. Only the parts of each page that mention your properties are sent, and results are cached per paper. 30 automated tests use a fake LLM, including deliberately wrong rows that must be flagged.

Challenges we ran into

Free-tier rate limits: our first version took 136.9 s for one paper. Racing engines, sending page excerpts and spreading load got it to 7.2 s on the same paper. PDF tables stored one cell per line, so exact quotes never matched. We wrote a table-row check instead. Citation numbers glued onto material names (“PEDOT:PSS + EG19”). Two columns for the same property (calculated vs measured μC*). Resisting overfitting to the one paper we developed on.

Accomplishments that we're proud of

Datum recovered 10 of 10 hand-checked benchmark values from Inal et al. 2017. That’s the paper we developed on, so held-out testing is next. On a three-paper run, it extracted 37 values: 23 verified, 14 marked for review, 0 flagged.

What we learned

The AI should read, but code should check. And measuring against an answer key beats eyeballing results.

What's next for Datum

Held-out accuracy on more papers, a “suggest properties” step for vague goals, values read from figures, and saved datasets per user.

Built With

Share this project:

Updates

Submission history