The tool looks nice. I've used revealjs for this use case before so I was happy to see your comparison documentation: https://sli.dev/guide/why#comparisons
Maybe I misread the docs, but it looked like it was generating a visual for the whole day. If this were offline you could have it double as a clock and regenerate the image every N minutes.
I love watching others use Neovim and that's how I learned more about the LSP / treesitter integration. I still find that VS Code is my recommendation for new contributors to an existing codebase because of how intuitive it is to resolve problems solo. If I want to debug a change in an existing project I will almost always reach for VS Code due to the integration with build systems (CMake for example) or other tools. That said, I find that I do "real work" in neovim: thinking, exploring, or writing this reply.
If I were to teach someone from the beginning I would still recommend (neo)vim.
Your recommended json solution was also my first thought but if you do not have the ability to easily introduce a new dependency then the op is correct.
If I have an existing JSON file that I want to quickly parse for a demo project there is almost zero chance I would pick C++. In comparison, Python is already installed in many environments and has built-in json parsing.
Do you mind sharing your fork with the font change?
I tried to get a font that supports other characters but the mkfont_bdf tool didn't like the files I fed it.
The best I've found for learning to write Chinese characters has been Skritter (https://skritter.com/)
If you are following a textbook, you can probably find pre-made decks of characters for that textbook.