How do transpilers work? How do you trust a minifier to not break your code? Why do require() calls and browserify sometimes work and sometimes not? How might you autogenerate documentation for your application?
How does that happen? What kinds of things can you do when you start treating your source code as data? There are numerous tools you can use right now to start exploring ideas that have only just started to be imagined.