Xinlong Bao包新龙

study · 2026

Usyd Mastery

Five bilingual course hubs: study guides, mind maps, Canvas knowledge graphs, quizzes, and SM-2 flashcards. Open index.html.

SourceHTML · CSS · JavaScript · Canvas 2D · KaTeX · LM Studio
Usyd Mastery course portal

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.