Intro
The master’s courses did not ship a single place to actually study them. Usyd Mastery is a static portal for University of Sydney CS: no framework, no build, localStorage for everything that persists, optional chat to a local LM Studio server.
The root page is five hubs for S1 2026: COMP5270, COMP5046, COMP5318, COMP9001, and COMP9123. English and Chinese throughout. A service worker caches the shell as a PWA.
Method
Each hub follows the same spine: a homepage with Mission Control, chapter pages for study / math / mind map, then tools. Shared engines cover progress, SM-2 flashcards (Again / Hard / Good / Easy, EF floor 1.3), quiz practice and exam with a missed-question stack, a force-directed Canvas knowledge graph, and a dashboard that weights mastery across study, math, quizzes, and cards.
Chat is page-text-as-context, with file attach and a vision-model slot, allowed only against a local-host list. Math is KaTeX. There is no FSRS here — that lives in LearnPDF. COMP5270 is the densest hub (12 chapters, 200 quiz items, 120 cards, 127 graph nodes). COMP9001 is still catching up: chapter 1 is a full lab; later chapters were scaffold before local 9001 files were merged back in.
Demo
python3 -m http.server in the project folder, then open the portal. Pick a course, walk a chapter, open the quiz hub or flashcards, drag the knowledge graph. Toggle 中文. Chat only lights up if LM Studio is on localhost:1234.
This site does not iframe the whole tree — it is hundreds of megabytes of course HTML. The screenshot is the command centre; the live artefact is the local server.
Conclusion
The honest product is five bilingual static hubs with SM-2, quizzes, and graphs — not a SPA and not a hosted LMS. COMP9123 is in the portal; older README copy that listed four courses is stale.
Limits: 9001 is uneven, chat depends on a local model, and course PDFs stay on disk under university rules.
