Last year I started building a free herb-drug interaction checker for Spanish-speaking users in Latin America. What began as a simple lookup table turned into a 592-entry database with severity classifications and PubMed citations.
Here's what the data looks like — and what surprised me.
The Database
592 interactions between 204 medicinal herbs and pharmaceutical drugs, each classified by severity:
| Severity | Count | % | What it means |
|---|---|---|---|
| Alta (High) | 84 | 14.2% | Potentially life-threatening. Avoid combination. |
| Moderada (Moderate) | 288 | 48.6% | Clinically significant. Monitor closely. |
| Baja (Low) | 220 | 37.2% | Minor effect. Usually safe with awareness. |
Every entry includes a mechanism of action and links to published evidence. No "trust me bro" — actual pharmacological reasoning.
The Dangerous Herbs (by interaction count)
Some herbs interact with everything. Here are the top 10 by number of known drug interactions:
Hypericum (St. John's Wort) → 26 interactions
Curcuma (Turmeric) → 16 interactions
Ginkgo biloba → 11 interactions
Kava → 11 interactions
Valerian → 10 interactions
Green Tea → 10 interactions
Garlic (medicinal doses) → 9 interactions
Berberine → 9 interactions
Ashwagandha → 9 interactions
Cannabis → 9 interactions
St. John's Wort is the undisputed champion of herb-drug interactions. It induces CYP3A4 and P-glycoprotein — the same enzyme system that metabolizes ~50% of all drugs. Taking St. John's Wort with immunosuppressants, HIV antiretrovirals, or oral contraceptives can reduce drug levels to sub-therapeutic concentrations.
This isn't theoretical. There are documented cases of organ transplant rejection caused by St. John's Wort.
The Surprising Findings
1. Turmeric is not as safe as Instagram thinks
Curcumin has 16 known drug interactions, including with anticoagulants (increased bleeding risk) and antidiabetic drugs (hypoglycemia risk). The "golden latte" crowd doesn't usually mention this.
At supplemental doses (500-2000mg curcumin), the interaction potential is clinically significant. At culinary doses (a pinch of turmeric in food), it's generally fine.
2. "Natural" doesn't mean "no interactions"
48.6% of interactions in our database are classified as moderate — meaning they can alter drug efficacy or cause adverse effects that need medical attention. The myth that herbs are harmless because they're "natural" is one of the most dangerous misconceptions in health.
3. The most dangerous combinations involve common drugs
Warfarin (blood thinner) and metformin (diabetes) appear in more high-severity interactions than any other drugs. If you're on either of these and taking herbal supplements — please check.
The Technical Implementation
The interaction checker runs as a single HTML file with zero dependencies. No React, no build step, no API calls. The entire 592-entry database is embedded as a JavaScript array:
const INTERACTIONS = [
{
herb: "hypericum",
herb_name: "Hipérico (St. John's Wort)",
drug_class: "Antidepresivos ISRS",
severity: "alta",
mechanism: "Potenciación serotoninérgica → riesgo de síndrome serotoninérgico",
evidence: "Múltiples reportes de caso + guías clínicas (EMA, FDA)"
},
// ... 591 more entries
];
Users type a herb or drug name, and the client-side search returns matching interactions instantly. No server, no latency, no privacy concerns (nothing leaves the browser).
Why a single HTML file?
- Deployable anywhere. GitHub Pages, S3, Cloudflare Pages — drop a file, done.
- Embeddable. Other health sites can iframe it.
- Offline-capable. Works without internet after first load.
- Zero maintenance. No servers to maintain, no APIs to keep alive.
For a tool that people might use in a pharmacy or rural clinic with spotty internet, this matters.
Architecture for Embeddability
We designed the tool to be embeddable from day one:
<iframe
src="https://botanicaandina.com/herramientas/interacciones/"
width="100%"
height="700"
frameborder="0"
title="Verificador de Interacciones Hierbas-Medicamentos">
</iframe>
Any health blog or pharmacy website can embed the checker. Each embed is a potential backlink and a real service to their users.
What I'd Do Differently
Start with structured data. I built the HTML first and embedded data as JS. Should have started with a clean JSON/CSV that multiple frontends can consume.
Add PubMed DOIs from the start. Some early entries have "EMA guideline" as evidence instead of specific DOI links. Retrofitting DOIs is tedious.
Build the severity classification rubric first. The difference between "alta" and "moderada" was subjective for the first 100 entries. I later formalized it, but some early entries need re-evaluation.
Try It
The tool is free and open: botanicaandina.com/herramientas/interacciones/
It's in Spanish (targeting LATAM users who have even fewer resources for this kind of information), but the data structure and approach work for any language.
If you're building health tools — the single-file, zero-dependency approach works surprisingly well for reference databases. Users don't need a loading spinner to look up whether turmeric interacts with their blood thinner.
This is part of Botánica Andina, a project building evidence-based tools for medicinal plant information in Latin America. We also have a plant quiz, caffeine calculator, and supplement stack checker.
Top comments (0)