Skip to main content
Penn Clubs Hero Light

Find Your People!

Penn Clubs is the official platform for student organization discovery, recruitment, and event management at the University of Pennsylvania. Built with React/Next.js on the frontend and a Django-based REST API on the backend, Penn Clubs makes it easy for students to explore over 1,000 student organizations and for club leaders to manage their organizations effectively.

Discover Clubs

Search and filter through hundreds of student organizations to find your perfect community at Penn

Manage Events

Create, promote, and track events with integrated calendars and real-time updates

Handle Applications

Streamline your recruitment process with built-in application management and committee workflows

Club Fairs

Participate in virtual and in-person club fairs with QR codes, booth management, and analytics

Key Features

Find clubs by name, tags, size, application requirements, recruiting cycle, and more. Our Fuse.js-powered search provides fuzzy matching for intelligent results.
// From clubs.tsx - Search functionality
import Fuse from 'fuse.js'

// Filter clubs by multiple criteria
const searchParams = {
  tags: ['Professional', 'Athletics'],
  size: 'SIZE_MEDIUM', // 21-50 members
  application_required: 'OPEN_MEMBERSHIP',
  recruiting_cycle: 'RECRUITING_FALL'
}
Manage club rosters with three membership levels:
  • Owner (role 0): Full administrative access
  • Officer (role 10): Manage events and members
  • Member (role 20): Basic club access
Members can bookmark clubs, subscribe to updates, and track their involvement across all Penn organizations.
Create and manage events with:
  • Image uploads and rich descriptions
  • Start/end time tracking with timezone support
  • Event types: Recruitment, GBM, Social, Performance, Speaker, Career
  • ICS calendar integration for automatic event imports
  • Live event streaming with virtual attendance tracking
Full-featured recruitment application system:
  • Custom application questions (text, multiple choice, info blocks)
  • Multi-committee workflows
  • Application cycles with deadlines
  • Submission management and review interface
# From models.py - Application structure
class ClubApplication(models.Model):
    club = models.ForeignKey(Club, on_delete=models.CASCADE)
    application_start_time = models.DateTimeField()
    application_end_time = models.DateTimeField()
    result_release_time = models.DateTimeField()
    committees = models.ManyToManyField(ApplicationCommittee)
Integrated payment processing powered by CyberSource Secure Acceptance:
  • Event ticketing with QR code generation
  • Secure payment handling
  • Cart management
  • Ticket transfer capabilities
  • Payment reconciliation for club treasurers

Platform Statistics

1,000+

Student Organizations

10,000+

Active Students

500+

Events per Semester

Technology Stack

Framework: Next.js 15.2.7 with React 19.2.2Key Libraries:
  • TypeScript for type safety
  • Styled Components for styling
  • React Big Calendar for event visualization
  • Fuse.js for fuzzy search
  • Formik for form management
  • React Beautiful DnD for drag-and-drop
Build Tool: Bun with Turbopack

Get Started as a Student

Learn how to discover and join clubs

Development Setup

Set up your local development environment

API Documentation

Explore the REST API endpoints

GitHub Repository

View the source code and contribute

Maintained by Penn Labs

Penn Clubs is developed and maintained by Penn Labs, Penn’s premier student-run software development organization. We build tools that help over 30,000 students navigate campus life.
For platform support, contact [email protected]. For OSA-related inquiries, reach out to [email protected].

Build docs developers (and LLMs) love