An educational reference for parents and caregivers covering 140 pediatric conditions across 18 body systems: staged symptoms, home care, prevention, and exactly when to call a doctor.
Kids Disease is not medical advice. It lists generic active ingredients only (never brands, never doses) and always defers to qualified clinicians. In an emergency, call your local emergency number.
- Astro 6 — fully static output; every disease has its own
indexable URL (
/diseases/{slug}/) withMedicalCondition+BreadcrumbListJSON-LD, unique titles/descriptions, sitemap, and robots.txt. - Tailwind CSS 4 via PostCSS (
postcss.config.mjs). Brand tokens live insrc/styles/global.cssunder@theme. - No client framework. The triage scorer and search run as small vanilla scripts.
| Command | Action |
|---|---|
npm install |
Install dependencies |
npm run dev |
Dev server at localhost:4321 |
npm run build |
Static build into dist/ (145 pages) |
npm run preview |
Serve the production build locally |
npm run build:legacy-db |
Regenerate the legacy SPA's database payload |
data/database.source.json is the single source of truth. After editing, run
node build_db.js — it validates referential integrity (systems, categories,
duplicate ids, image files) and regenerates the legacy payload. The Astro site
imports the JSON directly; just rebuild.
When adding a disease: place its SVG in public/illustrations/, keep
related_diseases names matching existing name fields exactly to make them
clickable links (non-matching names render as plain differential-diagnosis
chips — never dead links).
- Buy the domain, then change one line —
siteinastro.config.mjs— and the URL inpublic/robots.txt. Canonical URLs and the sitemap regenerate automatically. npm run buildand deploydist/to any static host (Netlify, Vercel, Cloudflare Pages, GitHub Pages).- Submit
sitemap-index.xmlin Google Search Console.
data/database.source.json # editable disease database (source of truth)
src/pages/ # routes (140 disease pages generated from data)
src/components/ # header, footer, SEO head, cards, breadcrumbs
src/lib/db.ts # typed data access + slug/URL helpers
public/illustrations/ # 148 condition/system illustrations
docs/seo-strategy.md # keyword research and content rules
legacy/ # previous Vue SPA, kept runnable for reference
This is a public health resource, so there's no personal contact address. Report a correction, request a condition, or flag an accessibility problem by opening a GitHub issue. Please don't send questions about a specific child — that needs a clinician who can examine them.
- Generic active ingredients only — no brands, no doses.
- Every page carries the medical disclaimer and urgency labelling.
- Guidance-level claims cite AAP / CDC / WHO / NHS / Nemours with visible links.
- No fabricated data (the legacy "live outbreak map" was removed for this reason).
- Machine-translated medical content is not statically published.