I highly recommend “Essentials of Compilation” by Jeremy Siek, which explores the same nano-pass approach using both Python and Racket. His course is easily one of my favorites.
Bril is the only compiler IL I know of that is specifically designed for education.
R. Kent Dybvig’s compilers course has had approximately 15 “intermediate” representations designed for his course since at least 2004 – a consequence of teaching the course using the nanopass compiler framework for scheme. You could broadly divide these into “representations that are restrictions of scheme,” and “representations that are increasingly-annotated versions of UIL” where UIL is the underlying intermediate representation. As far as I know, UIL was also designed for this course.