Sorry to rain on your parade, but this looks seriously over-engineered. There are 71 files in this github repo (6914 after `npm install`) for something that requires ~100 lines of code.
Related: here's some PHP code I wrote 14 years ago that does something similar, but tries to generate aesthetically pleasing avatars: