Projects · Open source · 2026
SysDesign Lab
A free system design course in Indonesian: 42 lessons, 16 mock interviews, quizzes and cheat sheets, written from primary sources rather than copied from paid material. Static site with tests that validate the content itself.
Astro · MDX · TypeScript · Vitest
SourceProblem
Good system design material in Indonesian is rare and the best English courses sit behind paywalls. I wanted a free, original curriculum I could also use to keep my own fundamentals sharp.
What I built
A static Astro site with a four-part curriculum of MDX lessons, case studies and postmortems, a mock-interview bank, quizzes and cheat sheets. Learning progress is kept in the browser; there is no backend or account.
Architecture
- src/content/lessonsMDX lessons grouped by curriculum part, with a required front-matter format
- src/data/curriculum.tssingle source of truth for ordering and parts
- src/libpure logic: progress, quiz scoring, mock timer; unit tested
- Vitest content testsvalidate every lesson's structure and links before build
- GitHub Actions → Pagesstatic deploy; `BASE_PATH` switch for a custom domain
Decisions and trade-offs
01
Test the content, not just the code
Lessons are data. A test suite checks front matter, required sections and internal links, so a broken lesson fails CI the same way a broken function would.
02
No backend on purpose
Progress lives in localStorage. It loses cross-device sync, but it keeps the site free to host, private by default, and impossible to take down by a database bill.
03
Original text from free primary sources
Structure is inspired by popular courses, but every lesson, diagram and quiz is written from the System Design Primer, DDIA, engineering blogs and RFCs, so the material can stay open source.
Evidence
- 42 lessons and 16 mock interviews in the repo; `pnpm test` runs logic and content validation.
- CI workflow builds and deploys the static output.
Status · Growing; lessons added over time