Skip to main content

Welcome to Penn Clubs!

This guide will help you get started with Penn Clubs whether you’re a student looking to discover organizations or a club leader managing your organization.
Penn Clubs requires a University of Pennsylvania PennKey for authentication. You’ll be redirected to Penn’s Single Sign-On (SSO) system when logging in.

For Students: Discovering Clubs

1

Log In

Navigate to pennclubs.com and click the Login button in the top right corner.You’ll be redirected to Penn’s authentication system. Log in with your PennKey credentials.
In development environments, test accounts are available. Use username bfranklin with password test to access the platform at http://localhost:3000/api/admin.
2

Explore Clubs

Use the search and filter interface to find clubs that match your interests:Search Options:
  • Search by club name (fuzzy matching supported)
  • Filter by tags: Professional, Athletics, Arts, etc.
  • Filter by size: 1-20, 21-50, 51-100, 101+ members
  • Filter by application requirements
  • Filter by recruiting cycle: Fall, Spring, Both, or Open
Example Searches:
// The frontend uses Fuse.js for intelligent search
"Penn Pre-Professional"Matches "PPPJO"
"juggling"Finds juggling-related clubs
"tech"Returns technology clubs
Use the “Clear All” button to reset filters and start a new search.
3

View Club Details

Click any club card to view detailed information:
  • About: Description, history, and mission
  • Events: Upcoming meetings and activities
  • Members: Club leadership (if enabled)
  • Files: Constitutions and documents
  • How to Get Involved: Membership instructions
Each club page displays:
// Club information structure
{
  name: string,
  subtitle: string,
  description: string,  // Rich HTML content
  size: "1-20" | "21-50" | "51-100" | "101+",
  application_required: "Open Membership" | "Application Required" | etc.,
  accepting_members: boolean,
  recruiting_cycle: "Fall" | "Spring" | "Both" | "Open",
  tags: Array<{id: number, name: string}>,
  email: string,
  social_links: {
    facebook?: string,
    instagram?: string,
    twitter?: string,
    linkedin?: string,
    website?: string
  }
}
4

Bookmark & Subscribe

Show your interest in clubs by:
Click the bookmark icon to save clubs to your profile for easy access later.
Subscribe to receive email notifications about:
  • Upcoming events
  • Application deadlines
  • Important announcements
5

Apply to Clubs

For clubs requiring applications:
  1. Navigate to the club’s page during their application period
  2. Click Apply Now
  3. Fill out the application form with:
    • Personal information
    • Responses to custom questions
    • Committee preferences (if applicable)
  4. Submit before the deadline
Application deadlines are strict. Late submissions are not accepted.
Track your applications in the Applications page accessible from your profile menu.
6

Attend Events

Browse upcoming events on the Events page:
  • Filter by event type: Recruitment, GBM, Social, Performance, Speaker, Career
  • View event details including location and time
  • Add events to your calendar (ICS export available)
  • Purchase tickets for paid events
// Event details include
{
  name: string,
  club_name: string,
  description: string,
  start_time: DateTime,
  end_time: DateTime,
  location: string,
  image_url?: string,
  event_type: EventType,
  url?: string  // Virtual event link
}

For Club Leaders: Managing Your Organization

1

Access Club Management

After logging in, navigate to your club’s page and click Manage if you have owner or officer permissions.Membership Roles:
  • Owner (role 0): Full administrative access
  • Officer (role 10): Can manage events, members, and content
  • Member (role 20): Basic viewing permissions
2

Update Club Information

Edit your club’s profile:
  • Club name and subtitle
  • Description (rich text editor with HTML support)
  • Tags and categories
  • Social media links
  • Email and contact information
3

Create Events

Add events from the club management panel:
  1. Click Create Event
  2. Fill in event details:
    • Event name and description
    • Date and time (with timezone)
    • Location (physical or virtual)
    • Event type and image
  3. Publish to make visible to students
Use ICS import to automatically sync events from Google Calendar or other calendar services.
4

Manage Applications

Set up your recruitment process:
  1. Create Application Cycle: Set start/end dates and result release time
  2. Add Committees: Define application tracks (if applicable)
  3. Build Questions: Add text responses, multiple choice, or info blocks
  4. Review Submissions: Access submitted applications through the review interface
# From models.py - Application question types
class ApplicationQuestion(models.Model):
    QUESTION_TYPES = (
        (FREE_RESPONSE, "Free Response"),
        (MULTIPLE_CHOICE, "Multiple Choice"),
        (INFO_TEXT, "Informational Text"),
    )
    question_type = models.IntegerField(choices=QUESTION_TYPES)
    prompt = models.TextField()  # The question text
    word_limit = models.IntegerField(null=True, blank=True)
5

Invite Members

Build your roster:
  • Send email invitations to Penn students
  • Assign appropriate roles (Owner, Officer, Member)
  • Track membership status and activity
Only owners can invite new owners. Officers cannot promote members to officer status without owner approval.
6

Monitor Analytics

View insights about your club:
  • Bookmark count and subscriber count
  • Event attendance tracking
  • Application submission statistics
  • Club fair visit analytics

Club Fair Participation

Penn Clubs supports virtual and in-person club fairs:

Register for Fairs

Sign up for upcoming fairs through the Fairs page. Registration typically opens several weeks before the event.

QR Codes

Each registered club receives a unique QR code for students to scan at your booth. Scans are tracked for analytics.

Virtual Booths

Set up virtual booths with video chat integration, promotional materials, and resource links.

Analytics

Review post-fair metrics including booth visits, QR code scans, and student engagement.

Need Help?

Student Guide

Common questions and student guide

Contact Support

Email [email protected] for platform issues

OSA Support

Email [email protected] for policy questions

Report a Bug

Submit issues on GitHub

Next Steps

1

Explore the API

Developers can build integrations using our REST API. See the API Reference for details.
2

Join Penn Labs

Interested in contributing to Penn Clubs? Learn about joining Penn Labs.
3

Set Up Development Environment

Want to contribute to Penn Clubs? Check out the Installation Guide to get started.

Build docs developers (and LLMs) love