While users can choose the type of dimensionality reduction (i.e., UMAP , t-SNE , and PCA) and adjust the projection parameters in the UI, the computations are done in the back-end. By choosing to perform the computations in the back end, we are able to project the entire dataset and not just the subset displayed in the front end. For large datasets, it is computationally unfeasible to project the entire data at once. In these cases, we first reduce the number of features with an incremental version of PCA that processes the data in chunks. The resulting lower dimensional features can then be used as input for UMAP or t-SNE. For a comparison of a projection with and without chunking, see Supplementary Material, Additional File 1. As a distance metric for the projection, users can choose between Euclidean (for numerical data), Jaccard (for categorical data), and Gower (for mixed data types). Since Gower's distance is not included in the Python libraries we used for dimensionality reduction, we implemented it as a function that produces a pre-computed similarity matrix. Similarly, to enable the assignment of custom weights to features, the similarities must be pre-computed. Occasionally, the projected space results in overlapping points. We added an overlap removal method to reduce overlaps in the scatter plot .