We created a general purpose library for doing arbitrary large dimension reduction using space filling curves. It also works the other way (1D to ND).
I did dimensionality reduction techniques for data visualization over the summer and it took a really long time, I wondered why people don't use continuous space filling curves to do locality preserving visualization/clustering.
It takes in an arbitrary amount of high dimensional data and returns a one/two/three dimensional representation on a space filling curve. It can also take one/two/three dimensional data and project it up in dimensions.
We spent a lot of time researching the concept and then implemented a proof of concept as well as possible in the time frame.
Time constraints and some of my team didn't know how to program in python/use version control.
Actually completing the project in a way that returns meaningful results.
Gray Codes, Space-filing codes, Bit interleaving, Big/Little Endianess, and how to collaborate on team projects
Making it faster (implementing it in C with bit shifting instead of slow POC string operations), allowing negative values, making it prettier.
We made an early stage implementation in python using plotly, numpy, and pandas. (also sklearn for example datasets).