Thoughts Cove Truth Serum UDecide Yojna Hassify Code
AI-Powered Health Information

Truth
Serum

Trustworthy health information, powered by AI.

In today's information-saturated world, finding accurate health information is overwhelming. With 7% of Google's daily searches being health-related (70,000 requests per minute), users struggle to distinguish trustworthy sources from misinformation. Truth Serum solves this problem by leveraging Retrieval Augmented Generation (RAG) and advanced AI to deliver accurate, evidence-based answers drawn only from MedlinePlus, the U.S. National Library of Medicine's trusted health information service, with a link to every page it used.

See It In Action

Click to expand

Truth Serum — Search Interface
Truth Serum — Results View
Expanded screenshot

Why Truth Serum?

Traditional search engines overwhelm users with links, sponsored content, and often conflicting information. Research shows that 28.8% of health information on social media is misinformation. Truth Serum answers directly, and only from MedlinePlus.

Trusted Sources Only

Answers come only from MedlinePlus, the National Library of Medicine's health information service: 2,020 pages, no ads, no sponsored content. When those pages don't answer a question, Truth Serum says so instead of guessing.

AI-Powered RAG Technology

Retrieval Augmented Generation: semantic search finds the five most relevant of 105,088 passages, and a language model writes a concise answer from them. No sorting through dozens of result pages.

Every Answer Sourced

Each answer lists the MedlinePlus pages it was written from, so you can read the original yourself. The model is told to use those passages and nothing else, and any link it names that wasn't in them is dropped.

Free, Without the Abuse

Five free searches, then a free Google account for ten a day. Cloudflare Turnstile keeps bots out, and a daily cap keeps the whole service inside Cloudflare's free tier, so it costs nothing to run.

Advanced Focused Crawling

Unlike general-purpose search engines, the crawler indexes one trusted health site, following its sitemap and robots.txt, so data quality is set from the ground up.

Structured Data Presentation

Get information in a user-friendly, readable format with clear source attribution. Compare information across multiple pages from the same domain to see the full picture.

The Technology Behind Truth Serum

Multi-Stage Architecture

1. Focused crawling: MedlinePlus is crawled through its sitemap.xml, respecting robots.txt and rate limits.

2. Sanitization & chunking: pages are cleaned to plain text and split into passages: 105,088 from 2,020 pages.

3. Vector storage: every passage and its 1536-dimension OpenAI embedding lives in SQLite Durable Objects on Cloudflare, split across four shards.

4. Retrieval: a compact int8 index of each vector's first 256 dimensions finds candidates in a few milliseconds, then exact cosine similarity on the full vectors picks the top five.

5. Answer generation: Workers AI (Gemma 4 26B) writes the answer from those five passages only, as a markdown summary with key points and source links.

6. Fair free use: five searches per visitor, then Google sign-in for ten a day, with Turnstile against bots and a daily cap that stays within Cloudflare's free tier.

Trusted Data Sources
  • MedlinePlus: patient-friendly health topics from the U.S. National Library of Medicine, part of the NIH
  • MedlinePlus Genetics: plain-language guides to genes and genetic conditions

2,020 pages and 105,088 passages, crawled in mid-2026. Every answer links back to the pages it used.

Impact & Statistics

The Problem:

  • 7% of Google searches are health-related (~70,000 per minute)
  • First search result gets 27.6% of clicks, 10x more than the rest
  • 38% of health searches are symptom-related
  • 28.8% of health information on social media is misinformation
  • 32% of vaccine information on social media is inaccurate

The Solution: Truth Serum eliminates the noise by providing direct, accurate answers from sources you can trust.

Combating Health Misinformation with AI

Health misinformation spreads faster than the corrections to it. Truth Serum answers from MedlinePlus only, so the answer you get comes from the National Library of Medicine rather than from whatever ranked highest that day.

"Trustworthy health information should be a right, not a luxury."

Architecture

How it's built — pick a version, open it and step through

  • No monthly bill: one Worker serves the site and the API on Cloudflare's free plan, replacing a Docker server, a hosted vector database and a separate static host.
  • Same answers from the same data: all 105,088 vectors moved from Qdrant byte-for-byte into SQLite Durable Objects, searched with an int8 index and exact rescoring (99.3% of the exact top 5).
  • Free for everyone, fairly: 5 searches per visitor, then Google sign-in for 10 a day, with Turnstile keeping scripts out and a daily cap that stays inside the free AI allowance.
v2 architecture Cloudflare Workers · free plan
Truth Serum v2 architecture: one Cloudflare Worker on the free plan A React and Vite web client, served as static assets by a single Cloudflare Worker at truthserum.credsurfsearch.com, sends questions to /api/search. A Quota Durable Object (SQLite) holds accounts, the answer cache and the limits: 5 free searches per visitor, counted by a signed device cookie, a browser fingerprint and the IP, with Cloudflare Turnstile on every anonymous search; 10 a day per Google account; 300 a day in total. The question is embedded with OpenAI text-embedding-3-small. Four Corpus Durable Objects hold all 105,088 points moved byte-for-byte from the v1 Qdrant collection; each scans an int8 index of the first 256 dimensions in memory, in four calls to stay under 10 ms of CPU, then rescores 50 candidates on the full 1536-dimension vectors. Workers AI (Gemma 4 26B) writes the answer from the top 5 passages only. Google sign-in is verified against Google's keys and kept as an HttpOnly session cookie. The corpus was imported from the Qdrant export through a token-protected admin route and checked with per-shard checksums. Truth Serum v2 one Cloudflare Worker on the free plan - no monthly cost Web client React + Vite SPA Google sign-in Turnstile (visitors) Corpus import Qdrant export (v1) transform.py: int8 index import.py, resumable checksums per shard CLOUDFLARE WORKERS - FREE PLAN - truthserum.credsurfsearch.com Worker - fetch() static assets - SPA /api/me - searches left /api/auth/google /api/search session cookie - HS256 /admin/import - token Quota - Durable Object (SQLite) accounts - answer cache visitors: 5 free (device - fingerprint - IP) accounts: 10 a day - everyone: 300 a day Corpus - 4 Durable Objects (SQLite) 105,088 points, exactly as exported int8 index of the first 256 dims in memory scanned in 4 calls per shard (< 10 ms CPU) top 50 rescored on full 1536-d vectors Workers AI - Gemma 4 26B answer from the top 5 passages only ~22 Neurons a search (10k free a day) Google ID token signature keys Turnstile siteverify - visitor searches OpenAI API text-embedding-3-small - query HTTPS - cookie /admin env.AI verify siteverify embed
Truth Serum v2 architecture: one Cloudflare Worker on the free plan A React and Vite web client, served as static assets by a single Cloudflare Worker at truthserum.credsurfsearch.com, sends questions to /api/search. A Quota Durable Object (SQLite) holds accounts, the answer cache and the limits: 5 free searches per visitor, counted by a signed device cookie, a browser fingerprint and the IP, with Cloudflare Turnstile on every anonymous search; 10 a day per Google account; 300 a day in total. The question is embedded with OpenAI text-embedding-3-small. Four Corpus Durable Objects hold all 105,088 points moved byte-for-byte from the v1 Qdrant collection; each scans an int8 index of the first 256 dimensions in memory, in four calls to stay under 10 ms of CPU, then rescores 50 candidates on the full 1536-dimension vectors. Workers AI (Gemma 4 26B) writes the answer from the top 5 passages only. Google sign-in is verified against Google's keys and kept as an HttpOnly session cookie. The corpus was imported from the Qdrant export through a token-protected admin route and checked with per-shard checksums. Truth Serum v2 one Cloudflare Worker - free plan Web client React + Vite SPA Google sign-in Turnstile (visitors) Corpus import Qdrant export (v1) transform.py: int8 index import.py, resumable CLOUDFLARE WORKERS - FREE PLAN Worker - fetch() static assets - SPA /api/me - searches left /api/auth/google /api/search session cookie - HS256 /admin/import - token Quota - Durable Object (SQLite) accounts - answer cache visitors: 5 free (device - fingerprint - IP) accounts: 10 a day - everyone: 300 a day Corpus - 4 Durable Objects (SQLite) 105,088 points, exactly as exported int8 index of the first 256 dims in memory scanned in 4 calls per shard (< 10 ms CPU) top 50 rescored on full 1536-d vectors Workers AI - Gemma 4 26B answer from the top 5 passages only ~22 Neurons a search (10k free a day) Google ID token signature keys Turnstile siteverify - visitor searches OpenAI API text-embedding-3-small - query

Next Project
UDecide →