PROJECT · shipped
Xzema
Eczema treatments mapped to their actual evidence: 25,037 papers and 1.1 million community reports, distilled into dossiers whose citations must resolve before they publish.
Next.js · Supabase · extraction pipeline · OpenAlex · Crossref · evidence grading
Eczema treatments, mapped to their actual evidence
Parents make health decisions at 2am off advice with invented sources.
What it is
Xzema turns the eczema research record into treatment dossiers a parent can actually use. Every treatment shows two things separately: what the research says (an evidence grade computed from study designs) and what the community does (interest measured across 1.1 million patient posts). The gap between those two axes is presented as a finding in itself: 18,000 mentions and 19 papers is a different kind of knowledge than 5,000 mentions and 28 trials.
The advice problem
Eczema advice online is confident, contradictory, and weakly sourced, and parents make treatment decisions off it at 2am. The structural problem is that evidence and enthusiasm look identical in a feed. Separating them requires reading the literature at scale and grading it honestly. The result doesn't blend into one tidy score.
Corpus to dossier
A pipeline runs from corpus to dossier. 25,037 papers get sourced and triaged, and 9,257 are fully extracted into structured findings, treatments, and safety records. Community signal gets triaged from 1.1 million posts into intervention mentions and trigger reports.
Evidence grades are computed from study design rather than trusting stated labels. A synthesis layer drafts each dossier from structured rows only, with every sentence mechanically required to reference its source rows.
The sanity gate
This corpus had a trap in it: the evidence levels recorded at extraction were systematically inflated. The grading rubric is therefore sanity-gated before anything publishes: topical corticosteroids and dupilumab must grade as strong evidence, and elimination diets must not, or the rubric is wrong and nothing ships. The gate caught that inflation on the first run.
Every citation on every dossier must resolve against OpenAlex and Crossref at build time. Failures are dropped and logged rather than published. Numbers come from the database. The model only phrases.
What I cut
The first version of this project was a richer app that never shipped. The version that shipped is smaller: one page type that matters, and twenty treatments chosen by a documented query. Build-time gates decide what ships. Cutting scope early is what got it out the door.
Status
Live, with all dossiers published. The build-time gates decide what renders.