Inspiration

ClubLink was inspired by a common campus problem: students often miss out on clubs they would genuinely enjoy, while club leaders struggle to find active, reliable members. The goal was to make discovery and matching faster, clearer, and more personalized.

What it does

ClubLink helps students connect with clubs that match their interests, skills, and availability. It supports account creation, profile setup, club creation, and a discovery flow that makes it easier to find strong student–club fits. It also includes resume upload support for student profiles.

How we built it

The project was built with a Django backend and HTML/CSS templates with Bootstrap for the UI.
Key pieces included:

  • Authentication and role-based user flows
  • Student and club profile management
  • Matching/discovery interface
  • Media handling for uploaded resumes
  • Production deployment setup on Render The matching concept was treated as a ranking problem where compatibility can be represented as:

$$ \text{match_score} = \sum_{i=1}^{n} w_i \cdot s_i $$

where \(s_i\) is a feature score (interest overlap, availability, skills, etc.) and \(w_i\) is its importance weight.

Challenges we ran into

  • Handling uploaded files reliably in production (especially resumes)
  • Making media links work correctly after deployment
  • Keeping the UI simple while supporting different user types
  • Iterating quickly without breaking existing flows

Accomplishments that we're proud of

  • Shipping a functional end-to-end platform, not just a prototype
  • Creating a clean and consistent interface for core actions
  • Solving real deployment issues that affect actual users
  • Refining branding and user-facing content into a cohesive product

What we learned

  • Practical Django architecture for full-stack projects
  • The importance of production-ready file storage configuration
  • Better template organization and reusable layout patterns
  • How deployment environments differ from local development

What's next for ClubLink

  • Improve matching quality with better scoring signals
  • Add club recommendation explanations (“why this club fits you”)
  • Build messaging and application status tracking
  • Add analytics for club organizers
  • Continue UX improvements and mobile-first optimization
Share this project:

Updates

Submission history