How SupplementBot works

SupplementBot is a neurosymbolic AI system — it combines a large language model with a typed knowledge graph to give you structured, auditable answers about supplement science, not hallucinated guesses.

Two layers, working together

Knowledge graph

Before any conversation begins, a separate NSAI loop teaches the system about supplements. It queries multiple LLMs (Anthropic, Google Gemini, xAI Grok), extracts typed triples, and assembles them into a persistent graph stored in SurrealDB.

The graph spans multiple complexity tiers — from foundational (body systems, symptoms) to graduate-level (gene targets, receptors, metabolites). A continuous complexity lens controls which parts of the graph are visible, so explanations scale to what's useful, not what's technically complete.

Knowledge is sourced from iDISK 2.0 (ingredients, drugs, adverse reactions, condition associations), SuppKG (literature-extracted edges linking dietary compounds to clinical concepts with PubMed citations), CTD (Comparative Toxicogenomics Database — chemical-disease interactions and MESH-mapped synonyms), DSLD (NIH Dietary Supplement Label Database — real product ingredient names across tens of thousands of commercial labels), PubChem, UMLS, and PubMed E-utilities. All of these are unified in Supplementology, a structured knowledge base purpose-built for this project. Every extracted edge carries a confidence score, a source quality tier (single-provider → multi-provider → citation-backed), and a reasoning depth. Weak edges decay over time. Edges confirmed by multiple independent providers are boosted.

Graph edges are backed by citations pulled from SuppKG's PubMed-derived corpus. Each ingredient maps to its most citation-rich concept in the knowledge graph — so when the system says magnesium affects the muscular system, there are actual sentences from the literature behind it.

Intake conversation

The conversation is a structured clinical interview — not a chatbot. It moves through eight phases driven by an intake knowledge graph (process knowledge separate from supplement facts):

  1. Chief Complaint — what brought you here
  2. HPI — onset, location, duration, character, severity (OLDCARTS framework)
  3. Review of Systems — symptoms across body systems connected to current candidates
  4. Differentiation — questions chosen to split the candidate set as evenly as possible
  5. Causation Inquiry — checking whether your current supplements may be causing your symptoms
  6. Safety — current medications and pre-existing conditions before any supplement is named
  7. Recommendation — ranked supplements with evidence and safety caveats
  8. Follow-up — clarifying questions after the recommendation is delivered

Each differentiating question is chosen by entropy scoring — the question most likely to split the remaining candidates is asked first. The system tracks which questions it has already asked and which body systems have already been covered, so it doesn't double back.

The system shows its thinking as it goes — once it has enough context to form early candidates, it tells you what it's considering before asking the next question. You're not left wondering what it's doing.

What happens during your session

1
Safety check

Your message is scanned for red flags before any LLM sees it. If emergency keywords are detected, the session ends immediately and you're directed to emergency services.

2
Extraction

A cheap, fast model pulls structured data from your message: symptoms, body systems, OLDCARTS dimensions, medications, and corrections. This structured signal — not your raw text — drives the graph queries.

3
Graph query

Your symptoms map to nodes in the knowledge graph. The intake engine selects the next question and runs graph actions against the supplement KG and iDISK — scoring candidates by how well their known mechanisms match your symptom profile.

4
Rendering

A renderer LLM (Claude) turns the structured context — question template, graph results, candidate list — into a natural response. It never has access to raw graph data or makes clinical claims directly.

5
Post-generation safety filter

Every response is checked before it reaches you. Responses containing diagnostic language, cure claims, or dosage prescriptions are rewritten or blocked. A second check scans for any supplement name not in our knowledge graph — if the model mentions an ingredient we haven't researched, the response is blocked before it reaches you. This filter runs on every turn, independent of the LLM.

SupplementBot mascot

Capacity limits

Every session you have with SupplementBot costs real money in AI API fees — paid out of pocket by the developer as a service to a healthier community. There are no ads, no accounts, and no paywalls. To keep the lights on without going broke, sessions are capped:

2 concurrent sessions
10 sessions per day
100 sessions per month

If you hit a limit, sessions that are idle for 15 minutes free up automatically — try again shortly. If you'd like to help keep the service running, a $5 tip covers several sessions and goes directly toward API costs. Every bit helps.

Disclaimer

SupplementBot is for educational purposes only. Nothing in this application constitutes medical advice, diagnosis, or treatment. Supplements are not a substitute for professional medical care. Always consult a qualified healthcare provider before starting, stopping, or changing any supplement or medication regimen.

Where possible, supplement recommendations are supported by references to peer-reviewed literature indexed in PubMed. These references are provided for transparency and further reading — they do not imply that any supplement has been proven effective for your specific situation.

SupplementBot will never diagnose a condition, claim to cure anything, or advise you to stop taking prescribed medications. If you describe an emergency, the session ends immediately and directs you to emergency services.

This application is not a medical device and has not been evaluated by the FDA.

Privacy: Your conversation is never stored. Sessions exist in memory only on the server and are permanently gone when they end. No account, no tracking, no data retention.

Start a session