So I wrote it as a really basic pointwise k-means clustering approach, so it has a cost function that evaluates each point in a cluster against the centroid of each comparison cluster, and tries to boost the gaps between groups while minimising the gaps in each internal group.
And then I'm running it within a genetic algorithm to optimize the cost function.
and it's like 90% done after 2 days of work, which I am _hyped_ about