⚠️ PLANNING DOCUMENT - This describes features that are NOT YET IMPLEMENTED.
The Champion Directory makes it easy for Champions to find and connect with each other. This is central to the Connection Advisor role and the belonging narrative.
Design Principle: Connection is at the heart of the Champion community. Make it easy to find people who share your interests, location, or background.
Modeled after the internal Alumni Lookup, but simplified for the Champion audience.
| Filter | Type | Notes |
|---|---|---|
| Name | Text | Searches preferred name, legal name, maiden name |
| Graduation Year | Dropdown/Range | From Alumni record |
| College | Dropdown | From Alumni record |
| Major | Dropdown | From Alumni record |
| Affinity | Typeahead | From Champion’s cp_affinities — reuses affinity selector component |
| Region | Dropdown | Primary or “visiting” region |
| District | Dropdown | More granular than region |
| Industry | Dropdown | From Champion profile |
| Champion Role | Dropdown | Community Builder, Connection Advisor, etc. |
The affinity filter uses the same typeahead component as the profile affinity selector:
| Column | Content | |——–|———| | Photo | Thumbnail or placeholder | | Name | Preferred name | | Location | City, State (if visible) | | Role | Champion role badge(s) | | Affinity | Primary affinity | | Actions | View Profile, Message |
┌─────────────────────────┐
│ [Photo] │
│ Preferred Name │
│ City, State │
│ ─────────────────────── │
│ Role: Community Builder │
│ Industry: Healthcare │
│ Affinity: Greek Life │
│ ─────────────────────── │
│ [View] [Message] │
└─────────────────────────┘
Privacy Note: Map shows approximate location only. No precise addresses displayed.
When viewing another Champion’s profile:
When a Champion logs in, results default to:
When a Champion “visits” another region:
def display_field?(field, viewer, owner)
case owner.privacy_setting_for(field)
when 'all_champions'
true
when 'region_only'
viewer.region == owner.region
when 'hidden'
viewer == owner # Only self can see
end
end
Option A: Simple SQL LIKE
Option B: PostgreSQL Full-Text Search
Option C: Elasticsearch
Recommendation: Start with PostgreSQL full-text search, matching Alumni Lookup implementation.