The lessons learned for me were mainly in data visualisation in the front end, as I received various data points from the backend Neo4j and Java calculations and had to plot the results on a 3D graph to best demonstrate the tradeoffs between results, allowing the user to select the floating 3D point and see the data inputs behind its generation.
It also taught me a lot about passing large objects of states from one page to the next.