Can you make a presentation
ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace not found"
mkdir -p /home/daytona/workspace/immune-system-pptx
~/immune-system-pptx/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "The Human Immune System";
pres.author = "Health & Medicine – Academic Presentation";
// ─── PALETTE ───────────────────────────────────────────────────────────────
const C = {
navy: "0D1B2A", // dominant dark background
teal: "1B7F8E", // primary accent
mint: "3EC6C6", // secondary accent / highlights
white: "FFFFFF",
offwhite:"E8F4F8",
gold: "F4B942", // callout / emphasis
lightGray:"C5D8E0",
midGray: "7BA3B0",
darkTeal:"145A6A",
bodyText:"D6EEF5",
};
// ─── HELPERS ────────────────────────────────────────────────────────────────
function addBg(slide, color) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color } });
}
function addAccentBar(slide, color = C.teal, x = 0, y = 5.1, w = 10, h = 0.15) {
slide.addShape(pres.ShapeType.rect, { x, y, w, h, fill: { color }, line: { color, width: 0 } });
}
function slideNumber(slide, n) {
slide.addText(`${n}`, {
x: 9.5, y: 5.25, w: 0.4, h: 0.25, fontSize: 9, color: C.midGray, align: "right",
});
}
function addTag(slide, label, x, y, color = C.teal) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w: 1.8, h: 0.3, fill: { color }, line: { color, width: 0 }, rectRadius: 0.04,
});
slide.addText(label, {
x, y, w: 1.8, h: 0.3, fontSize: 9, color: C.white, bold: true, align: "center", valign: "middle", margin: 0,
});
}
function sectionDivider(slide, label, emoji) {
addBg(slide, C.darkTeal);
// big circle decoration
slide.addShape(pres.ShapeType.ellipse, {
x: 7.5, y: -0.8, w: 4, h: 4, fill: { color: C.teal, transparency: 80 }, line: { color: C.teal, transparency: 80, width: 0 },
});
slide.addShape(pres.ShapeType.ellipse, {
x: -0.8, y: 3.2, w: 2.5, h: 2.5, fill: { color: C.mint, transparency: 85 }, line: { color: C.mint, transparency: 85, width: 0 },
});
if (emoji) {
slide.addText(emoji, { x: 0.5, y: 1.2, w: 2, h: 2, fontSize: 72, align: "center", valign: "middle" });
}
slide.addText(label, {
x: 2.6, y: 1.8, w: 7, h: 2, fontSize: 38, bold: true, color: C.white, align: "left", valign: "middle",
});
addAccentBar(slide, C.mint);
}
// ─── SLIDE 1 – TITLE ────────────────────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
// decorative circles
s.addShape(pres.ShapeType.ellipse, { x: 7.2, y: -1.2, w: 5, h: 5, fill: { color: C.teal, transparency: 75 }, line: { color: C.teal, transparency: 75, width: 0 } });
s.addShape(pres.ShapeType.ellipse, { x: -1.5, y: 3.5, w: 3.5, h: 3.5, fill: { color: C.mint, transparency: 80 }, line: { color: C.mint, transparency: 80, width: 0 } });
// top label
s.addText("HEALTH & MEDICINE • ACADEMIC PRESENTATION", {
x: 0.5, y: 0.35, w: 9, h: 0.3, fontSize: 9, color: C.midGray, align: "left", bold: true, charSpacing: 3,
});
// big emoji icon
s.addText("🛡️", { x: 0.3, y: 1.0, w: 1.5, h: 1.5, fontSize: 56, align: "center" });
// main title
s.addText("The Human\nImmune System", {
x: 1.9, y: 0.85, w: 7.5, h: 2.2, fontSize: 46, bold: true, color: C.white, align: "left", valign: "middle",
});
// subtitle
s.addText("How Your Body Defends Itself — From Cells to Antibodies", {
x: 1.9, y: 3.1, w: 7.5, h: 0.5, fontSize: 15, color: C.mint, align: "left", italic: true,
});
// accent line
s.addShape(pres.ShapeType.rect, { x: 1.9, y: 3.75, w: 3.5, h: 0.05, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
s.addText("Presented for Academic Study • June 2026", {
x: 1.9, y: 3.9, w: 7, h: 0.3, fontSize: 10, color: C.midGray, align: "left",
});
addAccentBar(s, C.teal, 0, 5.47, 10, 0.155);
}
// ─── SLIDE 2 – AGENDA ───────────────────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
s.addText("AGENDA", { x: 0.5, y: 0.25, w: 9, h: 0.3, fontSize: 10, bold: true, color: C.mint, charSpacing: 4 });
s.addText("What We'll Cover Today", { x: 0.5, y: 0.55, w: 9, h: 0.6, fontSize: 26, bold: true, color: C.white });
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.2, w: 0.06, h: 3.6, fill: { color: C.teal }, line: { color: C.teal, width: 0 } });
const items = [
["01", "Introduction – What Is the Immune System?"],
["02", "First Line of Defense – Physical & Chemical Barriers"],
["03", "Innate Immunity – The Fast Responders"],
["04", "Adaptive Immunity – Targeted Precision"],
["05", "B Cells & Antibodies"],
["06", "T Cells & Cell-Mediated Immunity"],
["07", "Immunological Memory & Vaccines"],
["08", "Immune Disorders & Dysfunction"],
["09", "Cutting-Edge Research & Future Directions"],
];
items.forEach(([num, title], i) => {
const y = 1.25 + i * 0.42;
s.addShape(pres.ShapeType.ellipse, { x: 0.65, y: y + 0.05, w: 0.28, h: 0.28, fill: { color: C.teal }, line: { color: C.teal, width: 0 } });
s.addText(num, { x: 0.65, y: y + 0.04, w: 0.28, h: 0.28, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
s.addText(title, { x: 1.1, y, w: 8.4, h: 0.38, fontSize: 13, color: C.offwhite, valign: "middle" });
});
addAccentBar(s, C.mint);
slideNumber(s, 2);
}
// ─── SLIDE 3 – WHAT IS THE IMMUNE SYSTEM? ───────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "INTRODUCTION", 0.5, 0.2);
s.addText("What Is the Immune System?", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 28, bold: true, color: C.white });
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.27, w: 4, h: 0.04, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
s.addText(
"The immune system is a complex network of cells, tissues, and organs that works together to defend the body against harmful invaders — including bacteria, viruses, fungi, and parasites.",
{ x: 0.5, y: 1.42, w: 9, h: 0.9, fontSize: 13.5, color: C.bodyText, align: "left" }
);
// 3 stat boxes
const stats = [
{ icon: "🦠", val: "37 trillion", label: "Cells in the human body" },
{ icon: "🔬", val: "~2 billion", label: "White blood cells circulating" },
{ icon: "⚔️", val: "100M+", label: "Unique antibody types possible" },
];
stats.forEach((st, i) => {
const x = 0.4 + i * 3.1;
s.addShape(pres.ShapeType.roundRect, { x, y: 2.55, w: 2.8, h: 2.4, fill: { color: C.darkTeal }, line: { color: C.teal, width: 1 }, rectRadius: 0.1 });
s.addText(st.icon, { x, y: 2.65, w: 2.8, h: 0.7, fontSize: 28, align: "center" });
s.addText(st.val, { x, y: 3.35, w: 2.8, h: 0.5, fontSize: 18, bold: true, color: C.mint, align: "center" });
s.addText(st.label, { x, y: 3.85, w: 2.8, h: 0.7, fontSize: 10.5, color: C.lightGray, align: "center" });
});
addAccentBar(s, C.teal);
slideNumber(s, 3);
}
// ─── SLIDE 4 – SECTION DIVIDER: FIRST LINE ──────────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "First Line of Defense", "🧱");
addTag(s, "SECTION 1", 2.6, 1.2, C.gold);
slideNumber(s, 4);
}
// ─── SLIDE 5 – PHYSICAL & CHEMICAL BARRIERS ─────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "BARRIERS", 0.5, 0.2, C.gold);
s.addText("Physical & Chemical Barriers", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 26, bold: true, color: C.white });
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.27, w: 3.5, h: 0.04, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
const barriers = [
{ icon: "🫀", title: "Skin", desc: "Physical barrier; acidic pH (~5.5) inhibits most pathogens. Largest organ of the immune system." },
{ icon: "👃", title: "Mucous Membranes", desc: "Trap pathogens in the respiratory, GI, and urogenital tracts. Cilia sweep debris upward." },
{ icon: "😢", title: "Secretions", desc: "Saliva, tears, and nasal mucus contain lysozyme — an enzyme that destroys bacterial cell walls." },
{ icon: "🧬", title: "Microbiome", desc: "~38 trillion commensal bacteria compete with pathogens and train immune responses." },
];
barriers.forEach((b, i) => {
const row = Math.floor(i / 2);
const col = i % 2;
const x = 0.4 + col * 4.8;
const y = 1.5 + row * 1.9;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.4, h: 1.75, fill: { color: C.darkTeal }, line: { color: C.teal, width: 1 }, rectRadius: 0.1 });
s.addText(b.icon, { x: x + 0.15, y: y + 0.25, w: 0.7, h: 0.7, fontSize: 24, align: "center" });
s.addText(b.title, { x: x + 0.9, y: y + 0.15, w: 3.3, h: 0.38, fontSize: 14, bold: true, color: C.mint });
s.addText(b.desc, { x: x + 0.9, y: y + 0.55, w: 3.3, h: 1.0, fontSize: 10.5, color: C.bodyText });
});
addAccentBar(s, C.teal);
slideNumber(s, 5);
}
// ─── SLIDE 6 – SECTION DIVIDER: INNATE IMMUNITY ─────────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "Innate Immunity", "⚡");
addTag(s, "SECTION 2", 2.6, 1.2, C.gold);
slideNumber(s, 6);
}
// ─── SLIDE 7 – INNATE IMMUNITY OVERVIEW ──────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "INNATE IMMUNITY", 0.5, 0.2, C.teal);
s.addText("Innate Immunity – The Fast Responders", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 24, bold: true, color: C.white });
s.addText("Innate immunity is non-specific and activated within minutes to hours of pathogen exposure. It does not require prior exposure and has no memory.", {
x: 0.5, y: 1.35, w: 9, h: 0.65, fontSize: 12.5, color: C.bodyText,
});
const cells = [
{ icon: "🔴", name: "Neutrophils", role: "First to arrive; phagocytose and destroy pathogens via enzymes and reactive oxygen species." },
{ icon: "🟠", name: "Macrophages", role: "Engulf debris and pathogens; release cytokines that coordinate the immune response." },
{ icon: "🟡", name: "Dendritic Cells", role: "Bridge innate and adaptive immunity; present antigens to T cells." },
{ icon: "🟢", name: "Natural Killer (NK) Cells", role: "Destroy virus-infected cells and tumor cells without prior sensitization." },
{ icon: "🔵", name: "Mast Cells", role: "Release histamine to trigger inflammation; key in allergic responses." },
{ icon: "🟣", name: "Complement System", role: "Cascade of proteins that lyse pathogens, opsonize targets, and attract immune cells." },
];
cells.forEach((c, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.3 + col * 3.2;
const y = 2.1 + row * 1.55;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 3.0, h: 1.4, fill: { color: C.darkTeal }, line: { color: C.teal, width: 1 }, rectRadius: 0.08 });
s.addText(c.icon + " " + c.name, { x: x + 0.15, y: y + 0.1, w: 2.7, h: 0.38, fontSize: 12, bold: true, color: C.mint });
s.addText(c.role, { x: x + 0.15, y: y + 0.5, w: 2.7, h: 0.8, fontSize: 9.5, color: C.bodyText });
});
addAccentBar(s, C.teal);
slideNumber(s, 7);
}
// ─── SLIDE 8 – INFLAMMATION ───────────────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "INNATE IMMUNITY", 0.5, 0.2, C.teal);
s.addText("Inflammation – The Body's Alarm System", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 24, bold: true, color: C.white });
// 4 cardinal signs
const signs = [
{ latin: "Rubor", english: "Redness", icon: "🔴", desc: "Vasodilation increases blood flow to the site of injury." },
{ latin: "Tumor", english: "Swelling", icon: "💧", desc: "Increased vascular permeability causes fluid leakage into tissues." },
{ latin: "Calor", english: "Heat", icon: "🌡️", desc: "Elevated local temperature inhibits pathogen replication." },
{ latin: "Dolor", english: "Pain", icon: "⚡", desc: "Prostaglandins sensitize nociceptors at the injury site." },
];
s.addText("The 4 Cardinal Signs of Inflammation (Celsus, 1st century AD):", {
x: 0.5, y: 1.35, w: 9, h: 0.4, fontSize: 13, color: C.gold, bold: true,
});
signs.forEach((sg, i) => {
const x = 0.3 + i * 2.35;
s.addShape(pres.ShapeType.roundRect, { x, y: 1.9, w: 2.15, h: 3.0, fill: { color: C.darkTeal }, line: { color: C.teal, width: 1 }, rectRadius: 0.1 });
s.addText(sg.icon, { x, y: 2.05, w: 2.15, h: 0.6, fontSize: 28, align: "center" });
s.addText(sg.latin, { x, y: 2.7, w: 2.15, h: 0.4, fontSize: 14, bold: true, color: C.mint, align: "center", italic: true });
s.addText(`"${sg.english}"`, { x, y: 3.1, w: 2.15, h: 0.3, fontSize: 11, color: C.gold, align: "center", bold: true });
s.addText(sg.desc, { x: x + 0.1, y: 3.45, w: 1.95, h: 1.2, fontSize: 10, color: C.bodyText, align: "center" });
});
addAccentBar(s, C.teal);
slideNumber(s, 8);
}
// ─── SLIDE 9 – SECTION DIVIDER: ADAPTIVE IMMUNITY ───────────────────────────
{
const s = pres.addSlide();
sectionDivider(s, "Adaptive Immunity", "🎯");
addTag(s, "SECTION 3", 2.6, 1.2, C.gold);
slideNumber(s, 9);
}
// ─── SLIDE 10 – B CELLS & ANTIBODIES ─────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "B CELLS", 0.5, 0.2, C.mint);
s.addText("B Cells & Antibodies", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 27, bold: true, color: C.white });
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.27, w: 3.0, h: 0.04, fill: { color: C.mint }, line: { color: C.mint, width: 0 } });
s.addText("B lymphocytes are produced in bone marrow and mature into plasma cells that secrete antibodies (immunoglobulins). Each B cell recognizes a unique antigen via its B cell receptor (BCR).", {
x: 0.5, y: 1.4, w: 9, h: 0.7, fontSize: 12.5, color: C.bodyText,
});
// 5 antibody classes
s.addText("The 5 Antibody Classes:", { x: 0.5, y: 2.2, w: 9, h: 0.4, fontSize: 14, bold: true, color: C.gold });
const abs = [
{ cls: "IgG", role: "Most abundant; crosses placenta; long-term protection", color: C.teal },
{ cls: "IgM", role: "First antibody produced; pentameric; activates complement", color: C.mint },
{ cls: "IgA", role: "Secretory; found in saliva, breast milk, mucus", color: C.gold },
{ cls: "IgE", role: "Triggers allergic reactions; anti-parasite defense", color: "E05C5C" },
{ cls: "IgD", role: "B cell activation signaling; role not fully understood", color: C.midGray },
];
abs.forEach((ab, i) => {
const x = 0.3 + i * 1.9;
s.addShape(pres.ShapeType.roundRect, { x, y: 2.7, w: 1.75, h: 2.3, fill: { color: C.darkTeal }, line: { color: ab.color, width: 2 }, rectRadius: 0.1 });
s.addText(ab.cls, { x, y: 2.8, w: 1.75, h: 0.5, fontSize: 18, bold: true, color: ab.color, align: "center" });
s.addText(ab.role, { x: x + 0.1, y: 3.35, w: 1.55, h: 1.5, fontSize: 9.5, color: C.bodyText, align: "center" });
});
addAccentBar(s, C.mint);
slideNumber(s, 10);
}
// ─── SLIDE 11 – T CELLS ───────────────────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "T CELLS", 0.5, 0.2, C.teal);
s.addText("T Cells & Cell-Mediated Immunity", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 25, bold: true, color: C.white });
s.addText("T lymphocytes mature in the thymus and are activated when their T cell receptor (TCR) recognizes antigens presented by MHC molecules on antigen-presenting cells (APCs).", {
x: 0.5, y: 1.35, w: 9, h: 0.65, fontSize: 12.5, color: C.bodyText,
});
const tcells = [
{
type: "CD4+ Helper T Cells", icon: "🤝",
points: [
"Coordinate the overall immune response",
"Activate B cells to produce antibodies",
"Help cytotoxic T cells kill infected cells",
"Subtypes: Th1, Th2, Th17, Treg",
],
},
{
type: "CD8+ Cytotoxic T Cells", icon: "🗡️",
points: [
"Directly kill virus-infected & tumor cells",
"Release perforin and granzymes",
"Induce apoptosis in target cells",
"Critical in cancer immunotherapy",
],
},
{
type: "Regulatory T Cells (Tregs)", icon: "🛑",
points: [
"Suppress excessive immune responses",
"Prevent autoimmunity",
"Maintain tolerance to self-antigens",
"Express FoxP3 transcription factor",
],
},
];
tcells.forEach((tc, i) => {
const x = 0.3 + i * 3.2;
s.addShape(pres.ShapeType.roundRect, { x, y: 2.1, w: 3.0, h: 3.0, fill: { color: C.darkTeal }, line: { color: C.teal, width: 1 }, rectRadius: 0.1 });
s.addText(tc.icon, { x, y: 2.2, w: 3.0, h: 0.5, fontSize: 22, align: "center" });
s.addText(tc.type, { x: x + 0.1, y: 2.75, w: 2.8, h: 0.5, fontSize: 11.5, bold: true, color: C.mint, align: "center" });
tc.points.forEach((pt, j) => {
s.addText("• " + pt, { x: x + 0.15, y: 3.3 + j * 0.42, w: 2.7, h: 0.38, fontSize: 9.5, color: C.bodyText });
});
});
addAccentBar(s, C.teal);
slideNumber(s, 11);
}
// ─── SLIDE 12 – MHC & ANTIGEN PRESENTATION ───────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "ADAPTIVE IMMUNITY", 0.5, 0.2, C.teal);
s.addText("MHC & Antigen Presentation", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 26, bold: true, color: C.white });
s.addText("Major Histocompatibility Complex (MHC) molecules display antigen fragments on cell surfaces so T cells can recognize infection or malignancy.", {
x: 0.5, y: 1.35, w: 9, h: 0.65, fontSize: 12.5, color: C.bodyText,
});
// Two columns
const cols = [
{
title: "MHC Class I", color: C.teal,
facts: [
"Present on ALL nucleated body cells",
"Display peptides from INTRACELLULAR pathogens (viruses)",
"Recognized by CD8+ cytotoxic T cells",
"Signals 'kill me' when infected",
"Encoded by HLA-A, HLA-B, HLA-C genes",
],
},
{
title: "MHC Class II", color: C.mint,
facts: [
"Present only on APCs (macrophages, dendritic cells, B cells)",
"Display peptides from EXTRACELLULAR pathogens (bacteria)",
"Recognized by CD4+ helper T cells",
"Coordinates the adaptive immune response",
"Encoded by HLA-DR, HLA-DQ, HLA-DP genes",
],
},
];
cols.forEach((col, i) => {
const x = 0.4 + i * 4.9;
s.addShape(pres.ShapeType.roundRect, { x, y: 2.05, w: 4.5, h: 3.3, fill: { color: C.darkTeal }, line: { color: col.color, width: 2 }, rectRadius: 0.1 });
s.addShape(pres.ShapeType.rect, { x, y: 2.05, w: 4.5, h: 0.45, fill: { color: col.color }, line: { color: col.color, width: 0 } });
s.addText(col.title, { x, y: 2.05, w: 4.5, h: 0.45, fontSize: 15, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
col.facts.forEach((f, j) => {
s.addText("▸ " + f, { x: x + 0.2, y: 2.6 + j * 0.52, w: 4.1, h: 0.45, fontSize: 10.5, color: C.bodyText });
});
});
addAccentBar(s, C.teal);
slideNumber(s, 12);
}
// ─── SLIDE 13 – IMMUNOLOGICAL MEMORY & VACCINES ──────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "MEMORY & VACCINES", 0.5, 0.2, C.gold);
s.addText("Immunological Memory & Vaccines", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 24, bold: true, color: C.white });
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.27, w: 4.0, h: 0.04, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
s.addText("After infection or vaccination, long-lived memory B and T cells persist for decades — enabling a faster, stronger secondary immune response upon re-exposure.", {
x: 0.5, y: 1.42, w: 9, h: 0.65, fontSize: 12.5, color: C.bodyText,
});
// Primary vs Secondary response comparison
s.addText("Primary vs. Secondary Immune Response", { x: 0.5, y: 2.15, w: 9, h: 0.4, fontSize: 14, bold: true, color: C.mint });
const rows = [
["Feature", "Primary Response", "Secondary Response"],
["Speed", "Days to weeks", "Hours to days"],
["Antibody level", "Low", "High (10–100x more)"],
["Antibody type", "Mainly IgM", "Mainly IgG"],
["Duration", "Short", "Long-lasting"],
["Basis", "Naive B & T cells", "Memory B & T cells"],
];
rows.forEach((row, i) => {
const y = 2.6 + i * 0.46;
const bg = i === 0 ? C.teal : i % 2 === 0 ? C.darkTeal : "132536";
s.addShape(pres.ShapeType.rect, { x: 0.4, y, w: 9.2, h: 0.44, fill: { color: bg }, line: { color: bg, width: 0 } });
row.forEach((cell, j) => {
const textColor = i === 0 ? C.white : j === 0 ? C.mint : C.bodyText;
s.addText(cell, { x: 0.5 + j * 3.07, y, w: 3.0, h: 0.44, fontSize: 11, color: textColor, bold: i === 0, valign: "middle" });
});
});
addAccentBar(s, C.gold);
slideNumber(s, 13);
}
// ─── SLIDE 14 – HOW VACCINES WORK ────────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "VACCINES", 0.5, 0.2, C.gold);
s.addText("How Vaccines Work", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 28, bold: true, color: C.white });
const steps = [
{ n: "1", title: "Antigen Introduction", desc: "Vaccine delivers a harmless antigen (protein, weakened pathogen, or mRNA instructions) into the body." },
{ n: "2", title: "Immune Activation", desc: "APCs process the antigen and present it to T cells, activating both cellular and humoral immunity." },
{ n: "3", title: "Memory Formation", desc: "Long-lived memory B and T cells are generated, persisting for years or decades." },
{ n: "4", title: "Future Protection", desc: "Upon real infection, the immune system mounts a rapid secondary response before the pathogen causes disease." },
];
steps.forEach((st, i) => {
const y = 1.35 + i * 1.0;
s.addShape(pres.ShapeType.ellipse, { x: 0.4, y: y + 0.08, w: 0.55, h: 0.55, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
s.addText(st.n, { x: 0.4, y: y + 0.07, w: 0.55, h: 0.55, fontSize: 14, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0 });
s.addText(st.title, { x: 1.1, y, w: 8.4, h: 0.38, fontSize: 14, bold: true, color: C.mint });
s.addText(st.desc, { x: 1.1, y: y + 0.38, w: 8.4, h: 0.52, fontSize: 11, color: C.bodyText });
});
addAccentBar(s, C.gold);
slideNumber(s, 14);
}
// ─── SLIDE 15 – IMMUNE DISORDERS ─────────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "DISORDERS", 0.5, 0.2, "E05C5C");
s.addText("When the Immune System Goes Wrong", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 24, bold: true, color: C.white });
const disorders = [
{
cat: "Hypersensitivity", icon: "⚠️", color: "E09040",
examples: "Allergies (Type I), Asthma, Anaphylaxis, Celiac disease, Contact dermatitis",
desc: "Exaggerated immune response to harmless antigens (allergens).",
},
{
cat: "Autoimmunity", icon: "🔄", color: "E05C5C",
examples: "Rheumatoid arthritis, Type 1 diabetes, Lupus, Multiple sclerosis",
desc: "Immune system attacks the body's own tissues (loss of self-tolerance).",
},
{
cat: "Immunodeficiency", icon: "📉", color: C.midGray,
examples: "HIV/AIDS, SCID, Common variable immunodeficiency",
desc: "Reduced ability to mount immune response (primary or acquired).",
},
{
cat: "Cancer (Lymphomas)", icon: "🔬", color: C.teal,
examples: "Hodgkin lymphoma, Non-Hodgkin lymphoma, Leukemia",
desc: "Malignant transformation of immune cells, disrupting normal function.",
},
];
disorders.forEach((d, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.3 + col * 4.85;
const y = 1.45 + row * 2.0;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 4.5, h: 1.85, fill: { color: C.darkTeal }, line: { color: d.color, width: 2 }, rectRadius: 0.1 });
s.addText(d.icon + " " + d.cat, { x: x + 0.15, y: y + 0.1, w: 4.2, h: 0.38, fontSize: 14, bold: true, color: d.color });
s.addText(d.desc, { x: x + 0.15, y: y + 0.5, w: 4.2, h: 0.45, fontSize: 10.5, color: C.bodyText });
s.addText("eg: " + d.examples, { x: x + 0.15, y: y + 0.95, w: 4.2, h: 0.75, fontSize: 9.5, color: C.lightGray, italic: true });
});
addAccentBar(s, "E05C5C");
slideNumber(s, 15);
}
// ─── SLIDE 16 – FUTURE OF IMMUNOLOGY ─────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
addTag(s, "RESEARCH", 0.5, 0.2, C.mint);
s.addText("Future Directions in Immunology", { x: 0.5, y: 0.6, w: 9, h: 0.65, fontSize: 25, bold: true, color: C.white });
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.27, w: 3.5, h: 0.04, fill: { color: C.mint }, line: { color: C.mint, width: 0 } });
const research = [
{ icon: "🧬", title: "mRNA Vaccines", desc: "Beyond COVID-19 — mRNA platforms are in trials for influenza, HIV, cancer, and malaria vaccines." },
{ icon: "🎯", title: "CAR-T Cell Therapy", desc: "Engineering T cells to carry chimeric antigen receptors (CARs) to target cancer cells with precision." },
{ icon: "🤖", title: "AI-Driven Drug Design", desc: "Machine learning models predict antibody binding, accelerating therapeutic antibody development." },
{ icon: "🦠", title: "Microbiome Modulation", desc: "Targeting gut bacteria to enhance immune function in autoimmune disease and cancer immunotherapy." },
{ icon: "🔬", title: "Checkpoint Inhibitors", desc: "PD-1/PD-L1 and CTLA-4 blockers release the brakes on T cells, revolutionizing cancer treatment." },
{ icon: "🌍", title: "Universal Flu Vaccine", desc: "Targeting conserved influenza proteins for broad protection — no annual reformulation needed." },
];
research.forEach((r, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.3 + col * 3.2;
const y = 1.55 + row * 1.9;
s.addShape(pres.ShapeType.roundRect, { x, y, w: 2.95, h: 1.75, fill: { color: C.darkTeal }, line: { color: C.teal, width: 1 }, rectRadius: 0.1 });
s.addText(r.icon + " " + r.title, { x: x + 0.1, y: y + 0.1, w: 2.75, h: 0.4, fontSize: 12, bold: true, color: C.mint });
s.addText(r.desc, { x: x + 0.1, y: y + 0.52, w: 2.75, h: 1.1, fontSize: 9.5, color: C.bodyText });
});
addAccentBar(s, C.mint);
slideNumber(s, 16);
}
// ─── SLIDE 17 – KEY TAKEAWAYS ─────────────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.darkTeal);
s.addShape(pres.ShapeType.ellipse, { x: 6.5, y: -1.0, w: 5.5, h: 5.5, fill: { color: C.teal, transparency: 80 }, line: { color: C.teal, transparency: 80, width: 0 } });
s.addText("KEY TAKEAWAYS", { x: 0.5, y: 0.25, w: 9, h: 0.3, fontSize: 10, bold: true, color: C.mint, charSpacing: 4 });
s.addText("What You Should Remember", { x: 0.5, y: 0.55, w: 9, h: 0.6, fontSize: 26, bold: true, color: C.white });
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.17, w: 4.0, h: 0.04, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
const takeaways = [
"The immune system has three layers: barriers, innate immunity, and adaptive immunity.",
"Innate immunity is fast and non-specific; adaptive immunity is slow but precise and has memory.",
"B cells produce antibodies (humoral immunity); T cells kill infected cells (cellular immunity).",
"MHC molecules are essential for antigen presentation to T cells.",
"Immunological memory is the biological basis for vaccines.",
"Immune dysfunction causes hypersensitivity, autoimmunity, immunodeficiency, and cancer.",
"mRNA vaccines, CAR-T therapy, and checkpoint inhibitors represent the frontier of immunology.",
];
takeaways.forEach((t, i) => {
s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.38 + i * 0.55, w: 0.06, h: 0.4, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
s.addText(t, { x: 0.75, y: 1.33 + i * 0.55, w: 8.75, h: 0.5, fontSize: 12, color: C.offwhite, valign: "middle" });
});
addAccentBar(s, C.gold);
slideNumber(s, 17);
}
// ─── SLIDE 18 – THANK YOU / CLOSING ──────────────────────────────────────────
{
const s = pres.addSlide();
addBg(s, C.navy);
s.addShape(pres.ShapeType.ellipse, { x: -1.5, y: -1.0, w: 5, h: 5, fill: { color: C.teal, transparency: 78 }, line: { color: C.teal, transparency: 78, width: 0 } });
s.addShape(pres.ShapeType.ellipse, { x: 7.5, y: 2.5, w: 4.5, h: 4.5, fill: { color: C.mint, transparency: 82 }, line: { color: C.mint, transparency: 82, width: 0 } });
s.addText("🛡️", { x: 3.8, y: 0.4, w: 2.4, h: 1.6, fontSize: 64, align: "center" });
s.addText("Thank You!", { x: 0.5, y: 1.95, w: 9, h: 0.75, fontSize: 38, bold: true, color: C.white, align: "center" });
s.addShape(pres.ShapeType.rect, { x: 3.5, y: 2.75, w: 3.0, h: 0.06, fill: { color: C.gold }, line: { color: C.gold, width: 0 } });
s.addText("Questions & Discussion", { x: 0.5, y: 2.9, w: 9, h: 0.45, fontSize: 16, color: C.mint, align: "center", italic: true });
s.addText('"The immune system is the most remarkable feat of engineering in the known universe."', {
x: 1.0, y: 3.5, w: 8.0, h: 0.6, fontSize: 11, color: C.midGray, align: "center", italic: true,
});
s.addText("— Charles A. Janeway Jr., Immunobiologist", { x: 1.0, y: 4.1, w: 8.0, h: 0.3, fontSize: 10, color: C.midGray, align: "center" });
addAccentBar(s, C.teal, 0, 5.47, 10, 0.155);
}
// ─── WRITE FILE ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/immune-system-pptx/The_Human_Immune_System.pptx" })
.then(() => console.log("✅ Presentation saved successfully!"))
.catch(err => { console.error("❌ Error:", err); process.exit(1); });
cd /home/daytona/workspace/immune-system-pptx && node build.js 2>&1
ls -lh /home/daytona/workspace/immune-system-pptx/The_Human_Immune_System.pptx
The Human Immune System
Presentation · PPTX
| # | Slide |
|---|---|
| 1 | Title slide - bold navy + teal design with decorative circles |
| 2 | Agenda - all 9 sections with numbered index |
| 3 | What Is the Immune System? - stats callout boxes |
| 4 | Section divider: First Line of Defense |
| 5 | Physical & Chemical Barriers (skin, mucus, secretions, microbiome) |
| 6 | Section divider: Innate Immunity |
| 7 | Innate Immunity - 6 cell types with role cards |
| 8 | Inflammation - 4 cardinal signs (Celsus) |
| 9 | Section divider: Adaptive Immunity |
| 10 | B Cells & Antibodies - all 5 immunoglobulin classes (IgG, IgM, IgA, IgE, IgD) |
| 11 | T Cells - CD4+ Helper, CD8+ Cytotoxic, Regulatory Tregs |
| 12 | MHC & Antigen Presentation - Class I vs Class II comparison |
| 13 | Immunological Memory - primary vs secondary response table |
| 14 | How Vaccines Work - 4-step process |
| 15 | Immune Disorders - hypersensitivity, autoimmunity, immunodeficiency, lymphoma |
| 16 | Future Directions - mRNA, CAR-T, AI, microbiome, checkpoint inhibitors |
| 17 | Key Takeaways - 7 bullet summary |
| 18 | Thank You / closing quote |