Platform Architecture
This platform is built with simplicity and longevity in mind. Here's how the pieces fit together:
Content Storage
All content lives in the /content directory as plain Markdown files:
content/
├── clusters/ # Cluster definitions
│ ├── getting-started.md
│ └── building-curriculum.md
├── lessons/ # Individual lessons
│ ├── getting-started-why-curriculum.md
│ └── getting-started-platform-architecture.md
├── pages/ # Static pages (home, about)
│ ├── home.md
│ └── about.md
└── settings/ # Site configuration
└── site.json
Each file combines YAML frontmatter (structured data) with Markdown content (prose). This means your entire curriculum is portable, version-controlled, and readable without any special tools.
The Build Process
When you deploy, the platform:
- Reads all Markdown files from
/content - Validates the content against expected fields
- Builds a static website with all your lessons
- Deploys to Netlify's global CDN
The result is a fast, secure, static site with no database or server to maintain.
The CMS Interface
While you can edit Markdown files directly, the CMS provides a friendlier interface:
- Visual forms for each field (title, description, etc.)
- Rich text editing for lesson content
- Relationship fields to link lessons to clusters
- Image uploads that go directly to your repository
The CMS is powered by Sveltia CMS, an open-source Git-based CMS. When you save changes, it commits them to your GitHub repository—no separate database required.
Technology Stack
For the technically curious:
- Framework: SvelteKit (fast, modern, great developer experience)
- Styling: CSS Custom Properties for easy theming
- CMS: Sveltia CMS (Git-based, no backend needed)
- Hosting: Netlify (free tier handles most curricula)
- Auth: GitHub OAuth via Cloudflare Workers
The entire stack is free or very low cost for typical usage.
Key Files to Know
| File | Purpose |
|---|---|
static/admin/config.template.yml |
CMS schema definition (config generated at build time) |
content/settings/site.json |
Site title, description, author |
content/pages/home.md |
Homepage content |
src/app.css |
Color, font, and theme customization |
You'll interact with these files when customizing your curriculum. The following lessons will walk you through each one.
What You Don't Need to Worry About
This platform handles the technical complexity so you can focus on content:
- No server management: Everything runs on Netlify's free tier
- No database: Content is stored as files in your repository
- No deployment scripts: Push to GitHub, site updates automatically
- No coding required: The CMS handles content editing visually
You can customize the code if you want to, but it's entirely optional.