There is much more math behind it as you might think :). The idea is obviously not unique but it was our/my first blockchain project, so we needed a small and fun project to get our hands dirty with. Also, we took part of ETHGlobal's NFTHack hackathon which helped us a lot to get started with Solidty and the required toolchain (hardhat, truffle/waffle, etc).
Hope you like it.