Contribute
Add the next course.
A course is a folder of typed data — no CMS, no database. If you can write TypeScript objects, you can add a course.
Three steps
- Create
content/courses/<your-slug>/with acourse.data.json(meta, parts, sections) and anindex.tsthat types & exports it. - Drop your images in
public/img/<your-slug>/and reference them fromfigblocks. - Register the course in
lib/content.ts, runnpm run build, open a PR.
Each section follows one shape — the renderer switches on the block t:
{
id: "your-first-node",
part: 1,
time: "00:00",
title: "The one idea",
tagline: "A one-line hook.",
mental: "The load-bearing idea, in a sentence.",
blocks: [
{ t: "lead", h: "Open strong." },
{ t: "callout", k: "verify", title: "Watch out", h: "..." },
{ t: "fig", src: "shot.jpg", url: "example.com", cap: "..." },
],
takeaways: ["...", "..."],
exercises: [{ t: "Try it", p: "...", hint: "..." }],
quiz: [
{ type: "flash", q: "...", a: "..." },
{ type: "mcq", q: "...", opts: ["A","B"], correct: 1, why: "..." },
],
}the bar What makes a good Exverse course
Every node leads with its mental model. Credit the source and link back. Prefer real examples over summaries. End every step with a Q&A that could be gotten wrong.