Zhijing (知径, roughly "the path of knowledge") is a tutoring system that turns a course into a graph of topics connected by their prerequisites, draws that graph in 3D, and then builds each student a learning path that never asks them to study something before the things it depends on. The developer, who goes by blossom-rt and studies Data Science and Big Data Technology at China University of Petroleum-Beijing at Karamay, built it as a sophomore summer practice project, and it covers the whole teaching loop: organise the knowledge, generate the path, study, test, and diagnose what went wrong.

  • Every course is a graph: topics are nodes and "you need this first" relationships are edges that teachers can edit visually.
  • Pick a target topic and Zhijing collects everything it depends on and orders it with Kahn's topological sort algorithm.
  • After a timed test, a DeepSeek-powered report diagnoses weak spots, and wrong answers go into a mistake book with AI explanations.
  • It runs on Spring Boot, Vue 3 and MySQL across 22 database tables, with separate student, teacher and admin views.
How Zhijing turns a target topic into an ordered learning pathThe student picks a target topic. Zhijing walks the prerequisite edges backwards with a breadth-first search to collect every topic the target depends on, then orders that subgraph with Kahn's algorithm so each topic appears after its prerequisites. The student studies node by node, unlocking the next after passing practice, then takes a test and receives an AI diagnosis of weak spots. FROM ONE TARGET TOPIC TO A FULL PATH A B C T prerequisite graph, T = target 1. Reverse BFS from T collects A, B, C 2. Kahn's algorithm orders A, B, C, T 3. Study, practise, pass, unlock next Timed test, auto-markedquestions cover every topic AI diagnosis reportweak spots + mistake book Teachers see class mastery by topic and chapter, and each student's path progress answer: never study a topic before the ones it depends on genztech.blog
Fig 1 The path is computed only over the part of the graph the target actually depends on, so a student aiming at one chapter is not handed the whole course.

What is Zhijing?

"Zhijing is a knowledge-graph powered intelligent tutoring system that builds 3D course graphs, generates personalized learning paths via topological sorting, and diagnoses learners' knowledge weak spots after assessments," blossom-rt told us. In practice a student logs in and sees their course as a 3D graph rendered with Three.js, with nodes coloured by chapter and filters by course and chapter. Click a topic you want to reach, and Zhijing generates a path to it, grouped by chapter with a progress bar for each.

RelatedThis Polish Student Team Built a Pension Calculator That Actually Tells You What to Change

Studying a topic brings up the learning material, an AI "key points" summary, an AI question-answering box and practice questions that are marked automatically. Before a topic starts, cards remind you of the prerequisite topics it builds on. You move to the next node on the path only after meeting the bar on the current one. There is also a favourites list, a mistake book that collects every question you got wrong with an AI explanation, recommendations in the style of "students who took this course also studied", and an export that saves your learning path as a PNG mind map.

Why build a knowledge graph for studying?

"I built this system to help students visualize complicated knowledge dependencies and study with customized plans," blossom-rt said. The problem is familiar to anyone who has hit a wall in a technical course: the thing you are stuck on is rarely the thing you are looking at. It is usually a prerequisite three chapters back that never quite landed. A textbook presents a course as a straight line, but the knowledge inside it is a web, and a student who can see that web can find the missing piece instead of rereading the chapter that depends on it.

How does the learning path actually work?

This is the neat part of the code. When a student picks a target topic, the back end starts at that node and walks the prerequisite edges backwards with a breadth-first search, collecting every topic the target depends on, directly or indirectly. It then runs Kahn's algorithm, the classic topological sort, over only that subgraph: count each node's incoming prerequisite edges, start with the nodes that have none, and repeatedly release nodes as their prerequisites are cleared. The result is an order in which every topic appears after all the topics it needs, and it only contains what is relevant to the student's goal.

Teachers maintain the graph. A three-level cascade of course, chapter and topic lets them attach learning resources, drag chapters into order, and edit prerequisite links visually in a graph editor. They manage a question bank, create tests with "smart" question selection that covers every topic, and get class analytics: mastery distribution, accuracy by topic, mastery by chapter and weak-spot diagnosis, plus a view of each student's path progress. An admin role handles accounts, roles, announcements, an audit log of operations and a monitor of AI calls.

What was the hardest part?

"The hardest part was balancing the knowledge graph reasoning algorithm and smooth 3D visualization performance in the web application," blossom-rt said. The two pull in opposite directions. The more of the graph you compute and show, the more useful the path and the context, but a 3D scene of hundreds of connected nodes in a browser tab gets slow quickly, especially on the laptops students actually own. Restricting the path computation to the target's own prerequisites is one answer to that, and filtering the 3D view by course and chapter is another.

RelatedSovereign AI Has a Price Tag. Does It Have a Plan?

TraitZhijingTypical course LMS
Course structureGraph of prerequisites, shown in 3DLinear list of chapters
Study orderComputed per student and per goalSame for everyone
After a testAI weak-spot diagnosis + mistake bookA score
Teacher viewMastery by topic and chapterGrades by assignment

How is it built?

The back end is Spring Boot 3.5 with MyBatis-Plus over MySQL 8, using JWT for authentication and an aspect-oriented logger that records operations across every module. The front end is Vue 3 with Vite and Element Plus, with Three.js for the 3D graph and ECharts and D3 for the charts. AI features call the DeepSeek API, every call is logged for the admin monitor, and the whole stack starts with a single Docker Compose command. The database has 22 tables, from users and roles through courses, chapters, topic nodes and prerequisite edges, to study paths, exams, the mistake book and cross-subject themes that link topics from different courses. The repository even includes a full set of design documents: use-case, sequence, activity, ER and class diagrams.

Our take

A lot of "AI tutor" projects are a chat box wrapped around a model. Zhijing puts the AI where it helps, in explanations and diagnosis, and puts the structure where it belongs, in an explicit graph that teachers control and students can see. Using a real graph algorithm, scoped to exactly what a student needs, is a clean piece of computer science applied to a real teaching problem. For a summer practice project from a second-year student it is unusually complete, with three roles, analytics, documentation and a one-command deployment.

Zhijing was built by blossom-rt, an undergraduate in Data Science and Big Data Technology at China University of Petroleum-Beijing at Karamay. The code is open: GitHub · blossom-rt on GitHub.

Campus Radar, get featured
  • Built something? Doesn't need to be finished or fancy: a side project, a hackathon build, or a class project you're proud of counts.
  • Email hello@genztech.blog with what you built, why you built it, a link, and your name plus college.
  • See every spotlight so far at genztech.blog/campus-radar.
Primary sources

Reporting based on a direct interview with blossom-rt and the public repository. The hero image is illustrative, not a screenshot of Zhijing.