For didactic purposes, I made this app providing text explanation and animated graphic visualization of the K-means algorithm.
For simulation data, I used scikit-learn, and for animation and graphical representation, Plotly. For app deployment, Streamlit has been used.