Team Builder
Forms student teams from validated psychometrics using clustering algorithms.
Problem
Manual team assignment is slow and biased; random assignment creates poor group dynamics; there was no validated, data-driven tool.
What I built
An app that administers IPIP-NEO-120 / HEXACO-60 assessments and forms teams three ways: Similar (k-means), Complementary (diversity-maximizing round-robin), and Balanced (conscientiousness stratification with an agreeableness guardrail). It computes cohort z-scores and percentiles and supports draft/publish, manual editing, and CSV export.
Engineering highlights
scikit-learn clustering with research-grounded strategies; a custom scorer (item-to-domain mapping, reverse scoring, cohort norms via scipy); FastAPI with async SQLModel; a React + TypeScript UI with drag-and-drop editing. Deployed behind nginx with SSL.