A web-based collaborative learning platform that automatically groups students using K-Means clustering and supports real-time tournament quizzes (TGT) and group chat.

Explore the live production deployment or review source code repository.
Forming classroom study groups is typically handled manually by educators, which takes substantial time and often yields unbalanced group abilities. Furthermore, group chats and quiz workflows are often fragmented across multiple tools.
As the Solo Developer for this thesis project, I handled full-cycle engineering: • Backend & Database: Designed a 50+ table PostgreSQL schema and built 25+ REST endpoints using Django REST Framework with JWT authentication. • Real-time Features: Developed real-time group chat and live tournament quiz synchronization using WebSockets (Django Channels). • Clustering Algorithm: Implemented K-Means clustering in Python to automatically distribute 31 students into balanced study groups based on motivation survey metrics (ARCS model). • Frontend: Crafted the user interface with React.js, Ant Design, and Tailwind CSS, integrated with Supabase and Azure Blob Storage.
• Reduced the group allocation process for 31 students from hours of manual work to under 1 minute using K-Means clustering. • Handled 334 quiz submissions and 162 real-time chat messages with zero synchronization conflicts. • Stably managed 37 active user accounts, 7 study groups, and 54 quiz questions on Supabase PostgreSQL.
