Back to Writing

Learning Note

What I learned building a hybrid recommendation prototype

An honest account of combining Elo-style ranking with collaborative and content-based signals in an academic futsal-management project.

Filed under
  • Algorithms
  • Django
  • React
  • Recommendations
  • Academic Project

Hamro Futsal was a seventh-semester academic project about venue management, bookings, teams, and friendly matches. The most challenging question was not how to list teams; it was how a system might suggest suitable opponents without pretending it had a perfect answer.

Our team started with Elo-style ranking as a way to represent relative competitive standing. Sujal Karki proposed the ranking direction and led the Django backend work. From there, the group experimented with collaborative and content-based signals to see how recommendations could consider both past interactions and team characteristics.

The collaborative part was useful as a concept because it asks what similar users or teams have preferred. The content-based part gave us another lens by looking at available team attributes. Combining them into a hybrid approach was an exercise in trial, error, and deciding which inputs were meaningful enough to keep.

My role was mainly the frontend experience and overall refinement with Rupesh Acharya, while also helping with some complex backend implementation. That made the design constraint very visible: a recommendation is only helpful if the interface explains enough context for a person to decide whether to act on it.

We treated the system as a prototype, not a validated machine-learning product. We did not have a production-scale evaluation dataset, a measured accuracy benchmark, or evidence that the recommendations were fair across every kind of team. Those are necessary next steps before making stronger claims.

What the project taught me was that an algorithm feature needs both a technical model and an honest product boundary. Elo can provide a ranking signal; collaborative and content-based approaches can enrich a suggestion; neither automatically proves a recommendation is good. Evidence, evaluation, and user feedback have to close that loop.