We unite elite AI developers, rare disease specialists, and patient advocates to build transformative solutions for neglected conditions. Entry is based on a compelling 500‑word essay that demonstrates your vision, expertise, and commitment.
);
}
function Stat({ label, value }: { label: string; value: string }) {
return (
{label}
{value}
);
}
function Kpis() {
const items = [
{
title: "Mission",
body: "Accelerate solutions for neglected rare diseases by pairing deep clinical insight with cutting‑edge AI.",
},
{
title: "What you get",
body: "Selection unlocks entry to the Santa Rosa project community, mentorship, and partner access.",
},
{
title: "Ethos",
body: "Patient‑centered, impact‑driven, ethically grounded, and open to interdisciplinary teams.",
},
];
return (
{items.map((x, i) => (
{x.title}
{x.body}
))}
);
}
function HowItWorks() {
const steps = [
{
title: "Write your essay (500 words)",
body: "Explain the rare disease focus, the problem to solve, your proposed AI approach, team skills, and expected impact.",
},
{
title: "Shortlisting",
body: "We select standout essays for interviews and due diligence on feasibility and patient impact.",
},
{
title: "Build sprint",
body: "Teams join a focused sprint with mentors and domain experts to validate approach and deliver a proof‑of‑concept.",
},
{
title: "Demo day",
body: "Show results to clinicians, advocates, and partners. Top teams advance within the Santa Rosa project.",
},
];
const [active, setActive] = useState(0);
useEffect(() => {
const id = setInterval(() => setActive((a) => (a + 1) % steps.length), 5000);
return () => clearInterval(id);
}, []);
return (
How it works
A concise, merit‑based pathway from idea to impact.
{steps.map((s, i) => (
))}
Details
{steps[active].body}
);
}
function Tracks() {
const tracks = [
{
name: "Early Diagnosis & Screening",
desc: "Models and tools that identify rare diseases earlier from limited data, symptoms, or imaging.",
tag: "Diagnostic AI",
},
{
name: "Therapeutic Discovery & Repurposing",
desc: "Computational discovery and repurposing strategies to accelerate treatment options.",
tag: "Drug/Target AI",
},
{
name: "Patient Support & Care Navigation",
desc: "Assistive agents that streamline care coordination, trials matching, or at‑home monitoring.",
tag: "Assistive Tools",
},
{
name: "Open Data & Benchmarks",
desc: "Curate/standardize datasets and challenge tasks to catalyze rare disease research.",
tag: "Data Commons",
},
];
const [tab, setTab] = useState(0);
return (
Suggested tracks
Customize these categories to match your challenge focus areas.
{tracks.map((t, i) => (
))}
{tracks.map((t, i) => (
{t.tag}
{t.name}
{t.desc}
))}
);
}
function JudgingCriteria() {
const criteria = [
{ name: "Impact", desc: "Clear potential to improve outcomes for patients with rare diseases." },
{ name: "Feasibility", desc: "Practical scope with a credible plan and needed expertise." },
{ name: "Innovation", desc: "Novel ideas, models, or data that push the field forward." },
{ name: "Technical quality", desc: "Sound methods, clean implementation, and thoughtful evaluation." },
{ name: "Ethics & safety", desc: "Patient‑first design, privacy, and risk mitigation." },
];
return (
Judging criteria
Use these guardrails when crafting your 500‑word essay and building your proof‑of‑concept.
{criteria.map((c, i) => (
{c.name}
{c.desc}
))}
);
}
function Timeline() {
const items = [
{ label: "Applications open", detail: "Submit your 500‑word essay.", span: "Now" },
{ label: "Shortlist & interviews", detail: "Top essays invited for interviews.", span: "T+2–3 weeks" },
{ label: "Build sprint", detail: "Mentored sprint to validate and build.", span: "2–4 weeks" },
{ label: "Demo day", detail: "Present to clinicians, advocates, and partners.", span: "Following week" },
];
return (
Timeline
Indicative milestone schedule. Adjust dates as needed.
{items.map((it, i) => (
{it.span}
{it.label}
{it.detail}
))}
);
}
function ApplyForm() {
const prompts = [
"Which rare disease will you target and why now?",
"What data and methods will you use?",
"Who is on your team and what are their strengths?",
"What’s the initial proof‑of‑concept you can deliver in 4 weeks?",
"What are the ethical risks and mitigations?",
];
const [essay, setEssay] = useState("");
const [name, setName] = useState("");
const [email, setEmail] = useState("");
const [role, setRole] = useState("");
const [org, setOrg] = useState("");
const [agree, setAgree] = useState(false);
const recaptchaRef = useRef(null);
const [submitting, setSubmitting] = useState(false);
const [status, setStatus] = useState<"idle" | "ok" | "err">("idle");
const hasRecaptcha = Boolean(RECAPTCHA_SITE_KEY);
const limit = 500;
const words = useMemo(() => countWords(essay), [essay]);
const over = words > limit;
const canSubmit = Boolean(name && email && !over && words >= 150 && agree && hasRecaptcha && !submitting);
const onSubmit = async (e: any) => {
e.preventDefault();
if (!hasRecaptcha) {
alert("reCAPTCHA is not configured. Set NEXT_PUBLIC_RECAPTCHA_SITE_KEY / VITE_RECAPTCHA_SITE_KEY.");
return;
}
setSubmitting(true);
setStatus("idle");
try {
const token = await recaptchaRef.current?.executeAsync();
recaptchaRef.current?.reset();
const payload = { name, email, role, org, essay, recaptchaToken: token };
const res = await fetch(SUBMIT_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
setStatus("ok");
setEssay("");
setName("");
setEmail("");
setRole("");
setOrg("");
setAgree(false);
} catch (err) {
console.error(err);
setStatus("err");
} finally {
setSubmitting(false);
}
};
return (
Submit your 500‑word essay
Make a concise case for your idea and team. Use the prompts for structure (optional) and keep it under 500 words.
{prompts.map((p, i) => (
{p}
))}
);
}
function Field({ label, value, onChange, placeholder, type = "text" }: any) {
return (
);
}
function Faq() {
const qa = [
{
q: "What qualifies as a \"rare disease\"?",
a: "Definitions vary by country; in the U.S. it is generally a condition affecting fewer than 200,000 people. Use patient‑centered judgment when scoping your proposal.",
},
{
q: "Who can apply?",
a: "Individuals or teams across AI, clinical practice, research, and patient communities. Interdisciplinary teams are encouraged.",
},
{
q: "What happens if I’m selected?",
a: "You’ll be invited to engage with the Santa Rosa project community, mentors, and partners to develop and showcase a proof‑of‑concept.",
},
{
q: "Do I retain IP?",
a: "Programs vary; default is that teams retain IP while granting the organizers the right to evaluate submitted materials. Clarify specifics before sprint start.",
},
];
const [open, setOpen] = useState(0);
return (
FAQ
{qa.map((item, i) => (
))}
);
}
function Footer() {
return (
);
}
// ==================================================================
// Dev Tests (run with ?tests=1 on the URL)
// ------------------------------------------------------------------
function DevTests() {
type Case = { name: string; essayWords: number; agree: boolean; expectCanSubmit: boolean };
const mkEssay = (n: number) => Array.from({ length: n }).map((_, i) => `w${i+1}`).join(" ");
const hasRecaptcha = Boolean(RECAPTCHA_SITE_KEY);
const cases: Case[] = [
{ name: "Too short (0)", essayWords: 0, agree: true, expectCanSubmit: false },
{ name: "Below min (149)", essayWords: 149, agree: true, expectCanSubmit: false },
{ name: "Min ok (150)", essayWords: 150, agree: true, expectCanSubmit: hasRecaptcha },
{ name: "Over limit (501)", essayWords: 501, agree: true, expectCanSubmit: false },
{ name: "Missing agree", essayWords: 200, agree: false, expectCanSubmit: false },
];
const results = cases.map((c) => {
const name = "Ada"; const email = "ada@example.org"; const role = "AI"; const org = "Org"; // present
const words = c.essayWords; const over = words > 500;
const can = Boolean(name && email && !over && words >= 150 && c.agree && hasRecaptcha && !false);
return { ...c, pass: can === c.expectCanSubmit, got: can };
});
return (
Dev Tests
Toggle by adding ?tests=1 to the URL. These validate word counting & submit gating.
The "AI Vibe Coding for Rare Disease Challenge" will unite elite AI developers, rare disease specialists, and patient advocates in a groundbreaking initiative to create transformative solutions for neglected rare diseases. Entry into the prestigious Santa Rosa project will be determined by a compelling 500-word essay demonstrating vision, expertise, and commitment.