This could potentially be simplified by using ws2812 style LEDs like this: https://learn.adafruit.com/neopixel-arcade-button/overview
Plus a fade candy controller.
Then you just need to build something to read the micro switches.
Haven't compared the costs, but it might reduce the complexity and barrier to entry.