alumni_lookup

Champion Portal — Backlog

Purpose: Track ideas, nice-to-haves, and intentionally deferred features for the Champion Portal. Not a task list — just a place to capture things so they aren’t lost.

When to Reference: During Sub-Phase Planning Checkpoint (see AGENTS.md §5)

Last Restructured: January 2026 (added Feature Backlog for post-MVP items)


Table of Contents

  1. Feature Backlog (Post-MVP)
  2. Architecture Ideas
  3. UX Enhancements
  4. Educational & Onboarding
  5. Technical Improvements
  6. Phase-Specific Deferrals
  7. Database Cleanup
  8. Future Enhancements
  9. How to Use This Document

1. Feature Backlog (Post-MVP)

These are significant features planned for after MVP soft launch. Prioritization will be based on Champion feedback and engagement data.

Feature Description Priority Effort
Job Board Champions can post job openings; other Champions can browse/apply High Large
Alumni Business Directory Champions can list their businesses for other alumni to discover High Medium
Mentorship Center Structured mentorship matching between Champions High Large
Newsletter Tool Hard-coded sections + community content sections for staff-curated newsletters Medium Medium
Real-Time Messaging WebSocket-based instant messaging (currently async) Medium Large
Map View Visual map of Champions across the country Medium Medium
Advanced Search More filters, saved searches, search history Medium Medium
Reporting & Insights CLs and staff see engagement metrics for their communities High Large
Native Mobile App iOS/Android apps with push notifications Low Very Large

1.1 Job Board

Added: January 2026 (Phase restructure)

Description: A dedicated space for Champions to post job openings at their companies and for job-seeking Champions to browse opportunities within the Bruin network.

Key Features:

Data Model:

# cp_job_postings table
t.references :champion          # Who posted
t.references :community         # Which industry/affinity community (optional)
t.string :title, null: false
t.string :company_name, null: false
t.string :location              # City or "Remote"
t.boolean :remote_friendly, default: false
t.text :description
t.string :experience_level      # Entry, Mid, Senior, Executive
t.string :application_url       # External link
t.date :expires_at
t.integer :status               # draft, active, closed
t.timestamps

Priority: High — Champions frequently ask about Bruin job network


1.2 Alumni Business Directory

Added: January 2026 (Phase restructure)

Description: Champions with businesses can list them for discovery by other alumni. Supports the “hire a Bruin” and “support Bruin businesses” use cases.

Key Features:

Data Model:

# cp_businesses table
t.references :champion          # Business owner
t.string :name, null: false
t.text :description
t.string :industry
t.string :city
t.string :state
t.string :website
t.string :phone
t.boolean :verified, default: false   # Staff can verify
t.timestamps

Priority: High — frequently requested; supports alumni economic network


1.3 Mentorship Center

Added: January 2026 (Phase restructure)

Description: Formalized mentorship matching where Champions can offer or request mentorship in specific areas.

Key Features:

Data Model:

# cp_mentor_profiles table
t.references :champion
t.text :areas_of_expertise       # Array or JSONB
t.string :availability           # monthly, weekly, as-needed
t.string :preferred_format       # in-person, video, phone, chat
t.boolean :accepting_mentees, default: true
t.integer :max_mentees, default: 3
t.timestamps

# cp_mentorship_matches table
t.references :mentor_profile
t.references :mentee, foreign_key: { to_table: :cp_champions }
t.string :status                 # pending, active, completed, cancelled
t.date :started_at
t.date :ended_at
t.timestamps

Priority: High — strong alignment with Champion mission of giving back


1.4 Newsletter Tool

Added: January 2026 (Phase restructure)

User Spec: “hard-coded + community content sections”

Description: Staff-curated newsletters with both fixed content sections and dynamic community-specific sections.

Key Features:

Priority: Medium — valuable for re-engagement but email platform may handle this


1.5 Real-Time Messaging

Added: January 2026 (Phase restructure)

Description: Upgrade current async messaging to WebSocket-based real-time delivery.

Key Features:

Implementation: ActionCable WebSocket channels

Priority: Medium — current async model works fine for MVP


1.6 Map View

Added: January 2026 (Phase restructure)

Description: Visual map showing Champion locations across the country.

Key Features:

Implementation: Leaflet.js or Google Maps API

Priority: Medium — visually impressive but directory search achieves same goal


Added: January 2026 (Phase restructure)

Description: Enhanced search capabilities beyond current directory filters.

Key Features:

Priority: Medium — current filters handle most use cases


1.8 Reporting & Insights

Added: January 2026 (Phase restructure)

Description: Analytics dashboards for Community Leaders and Staff.

Key Features:

User Story: > As a portal admin, I want to see the engagement score for members in a community so that I can know who might be a good person to contact about becoming a community leader.

Status: User story implemented! Engagement scores now display on community member lists in the Lookup Portal (/champions/communities/:id/members). Portal admins can see each member’s engagement score to identify potential community leaders.

Priority: High — critical for program management and proving ROI


1.9 CRM Workflow Rethinking

Added: January 2026 (Phase 2.3/2.4)

Context: As more staff get access to the portal, the current CRM changes workflow (buried in /settings/affinaquest/crm_changes) needs to be more accessible and streamlined.

Current State:

Potential Improvements:

Priority: Medium — works for now, revisit as portal_admin usage grows


2. Architecture Ideas

2.1 Unified Admin Portal (admin.alumnilookup.com)

Added: December 4, 2025 (Phase 1 planning)

Idea: Create a separate admin portal at admin.alumnilookup.com that consolidates settings from both Lookup Portal and Champion Portal.

Benefits:

Considerations:

Status: Captured for future consideration. Current plan continues with verification queue in Lookup Portal, but this is a strong candidate for Phase 2 or later.


2.2 Cross-Portal Navigation

Added: December 4, 2025 (Phase 1 planning)

Idea: Users with permissions to multiple portals should have an easy way to switch between them.

Proposed Solution: Header dropdown showing available portals based on user permissions:

Status: NOT IMPLEMENTED — Should add before Phase 2

Priority: Medium — Quality of life for staff who work in both portals


2.3 District Name Management UI

Added: December 4, 2025 (Phase 1.1 implementation)

Idea: Admin interface to edit district display names without direct database access.

Context: Districts are imported from CSV with long MSA names (e.g., “Nashville-Davidson–Murfreesboro–Franklin”) but we want short display names (e.g., “Nashville”). The csv_name column preserves the original for import matching, while name is the editable display name.

Scope:

Target: Phase 1.5 (Admin tools) or Phase 2

Priority: Medium — seed script auto-generates short names, but staff will want to customize ~50 key metros

Status: Should implement in Phase 1.5 when building the Champion Portal header. Simple dropdown with links to Lookup/Champions based on user permissions.


3. UX Enhancements

3.1 ZIP Code Autocomplete

Added: December 4, 2025

Idea: Type-ahead autocomplete for ZIP code entry that shows city/state as user types.

Priority: Low (ZIP entry is one-time during signup)


3.2 Profile Photo Cropping

Added: December 4, 2025

Idea: Client-side image cropping before upload to ensure consistent profile photos.

Libraries to consider: Cropper.js, react-image-crop

Priority: Medium (better UX, but not blocking)


3.3 PWA Support

Added: December 4, 2025

Idea: Add service worker and manifest for Progressive Web App capabilities.

Benefits:

Priority: Medium (good for mobile-first, but not Phase 1)


3.4 Batch Search Enhancements

Added: December 17, 2025 (UX polish for Lookup Portal)

Context: Batch Search tool allows staff to search for multiple alumni by name/email. Current implementation works but has several UX gaps identified by early users.

Enhancements:

2.4.1 Column Alignment

Issue: Result table columns don’t line up well, making it hard to scan data.

Solution: Use fixed-width columns or sticky headers with proper alignment. Consider:

2.4.2 Multiple Match Resolution

Issue: When a search returns multiple matches, there’s no way to select which result should be exported.

Solution:

Example flow:

Search: "John Smith"
Results: 
  ◯ John Smith (B00012345) — BS '15
  ◯ John Smith (B00067890) — MBA '18
  ◯ None
  
[Export with selections]

2.4.3 Standard Alumni Export Format

Issue: Batch search export format doesn’t match the “standard alumni export” used elsewhere (alumni search, engagement stats, etc.).

Solution:

2.4.4 Filter: Show Only Matches

Issue: No way to filter out non-matches from results. Staff wants to see only successful searches.

Solution:

2.4.5 Export Options: Matches / Non-Matches / All

Issue: Currently exports everything as-is. Staff sometimes wants just the matches or just the non-matches.

Solution:

2.4.6 Copy/Paste Support for Spreadsheets

Issue: Results are hard to copy into spreadsheets. Staff wants quick copy-to-clipboard.

Solution: Offer multiple copy methods:

  1. Copy Table as Tab-Separated — button that copies all visible results as TSV (paste directly into Excel)
  2. Copy Selected Row(s) — context menu on rows with copy option
  3. Individual Cell Copy — allow Ctrl+C on cells (native browser behavior)
  4. Spreadsheet Export — alternative to CSV (XLSX) with formatting

Example implementation:

[Copy to Clipboard as TSV] [Export to CSV] [Export to XLSX]

Priority: Medium-High (staff-requested feature, significant UX improvement)

Target Phase: 1.5 or 2.0 (post-MVP refinement)

Effort:


3.5 Email Address Change Flow ✅ IMPLEMENTED

Added: December 11, 2025 (Phase 1.4)
Implemented: January 2026 (Phase 1.9.1)

Issue: Champions have no clear way to change their email address.

Solution Implemented: Settings page with email change flow:


3.6 Simplify First Name Fields ✅ IMPLEMENTED

Added: December 11, 2025 (Phase 1.4)
Implemented: December 12, 2025 (Phase 1C)

Issue: The current flow asks for “Legal First Name” and “Preferred First Name” which feels bureaucratic. The legal name isn’t really needed except for identity matching.

Solution Implemented: Option 2 — single “First Name” field for most users, collapsible section for optional legal name and maiden name


3.7 Invite Others CTA from Dashboard

Added: December 22, 2025 (Phase 1.6.2)

Idea: When a verified Champion is the only person in their district, show an “Invite another Belmont Alum” link/button on the dashboard that launches an invite flow.

Context: A placeholder link exists on the dashboard today but does not trigger any flow.

Priority: Medium — reinforces growth and community-building

Target: Phase 1.6.3 or Phase 2

Changes:

Result: Cleaner, less bureaucratic signup flow while still capturing legal name when needed


3.8 Profile Page Visual Refresh ✅ IMPLEMENTED

Added: December 11, 2025 (Phase 1.4)
Implemented: January 2026 (Phase 1.9.3)

Issue: The profile show/edit pages feel “clunky and full of words” with similar styling across sections.

Solution Implemented:


4. Educational & Onboarding

Added: January 2026 (Phase 5.3 fixes)

Purpose: Track features, pages, and settings that need better user education — through tooltips, callouts, welcome emails, or in-app guidance. Champions should discover features naturally without reading documentation.

4.1 Features Needing Tooltips

Feature Location Tooltip Trigger Status
Privacy Settings Settings → Privacy First visit to settings ⏳ Planned
Notification Settings Settings → Notifications First visit to settings ⏳ Planned
Contact List Settings → Contacts First visit to contacts ⏳ Planned
Messaging Privacy Settings → Privacy When privacy level changed ⏳ Planned
Directory Search Directory First search ✅ Implemented (Phase 1.9)
Profile Completion Dashboard First login ✅ Implemented (Phase 1.9)
Messaging Intro Messages First visit ✅ Implemented (Phase 1.9)

4.2 Educational Callouts (Static Prompts)

Static prompts that appear on pages to explain functionality:

Location Callout Content Status
Messages Index “You’re in control. Privacy Settings let you choose who can message you…” ✅ Implemented (Phase 5.3b)
Directory Index “Your privacy matters. Privacy Settings let you control who can see your location…” ✅ Implemented (Phase 5.3b)
Contacts Page “Contacts you add can reach you based on your privacy settings…” ⏳ Planned
Profile Edit “Your profile helps other Champions find and connect with you…” ⏳ Planned

4.3 Welcome Email Content

Welcome emails that could explain site functionality:

Email Trigger Content to Include Status
Account Verified Welcome! Here’s how to use the Champion Portal… ⏳ Planned
First Login Quick start guide: Find Champions, Update Profile, Set Privacy ⏳ Planned
First Contact Added “You added [Name] as a contact. Your contacts can now message you based on your privacy settings…” ⏳ Planned
First Message Sent “Nice! You started a conversation. Here’s how messaging works…” ⏳ Planned

4.4 In-App Onboarding Ideas

More complex onboarding features to consider:

Idea Description Priority
Onboarding Checklist Dashboard widget showing: ✓ Profile complete, ✓ Photo uploaded, ○ Privacy set, ○ First message sent Medium
Feature Spotlight Modal popup highlighting new features after major releases Low
Guided Tour Step-by-step tour of the portal on first login (Shepherd.js or similar) Low
Contextual Help ”?” icons next to complex settings that expand to show explanation Medium

4.5 Documentation for Champions

Resource Description Status
Help & FAQ Searchable FAQ page ✅ Implemented (Phase 1.9)
Privacy Guide Detailed explanation of all privacy settings ⏳ Planned
Getting Started Guide Walkthrough for new Champions ⏳ Planned
Video Tutorials Short videos showing key features Future

5. Technical Improvements

5.1 Account Merge Tool

Added: December 4, 2025

Idea: Tool for staff to merge duplicate Champion accounts if someone signs up multiple times before verification.

Priority: Low (can handle manually initially)


4.2 API-First Endpoints

Added: December 4, 2025

Idea: Build Champion Portal features with RESTful API endpoints to support future native mobile app.

Status: Keep in mind during Phase 1 implementation. Controller actions should be API-friendly.


4.3 “Smaller Area” District Handling

Added: December 4, 2025

Idea: Champions in small districts (non-highlighted areas) may not have a full “district view” if there are few champions nearby.

Possible solutions:

Status: ✅ Partially addressed in Phase 1.9.4 Dashboard Visual Refresh — dashboard now shows region fallback when champion is first in their district, with “You’re the first Champion here!” celebration and invite CTA.

Remaining: Directory filtering could still benefit from region expansion for small districts.


6. Phase-Specific Deferrals

Items intentionally deferred from specific phases:

Item Original Phase Reason Deferred Target Phase
Push notifications Phase 1 Not needed for MVP Phase 4+
Map view Phase 1 Complexity Phase 5
Visit mode (secondary cities) Phase 1 Complexity Phase 5
Apple Sign In Phase 1.3 Focus on Google first Future
Facebook OAuth Phase 1.3, 1.9 Focus on Google first; requires FB Developer App Future
SSO account linking Phase 1.3 Complexity (edge case handling) Phase 2+
Account settings (connect/disconnect Google) Phase 1.3 Profile edit covers basics ✅ Phase 1.9.1
Sync imported affinities to profile Phase 1.4 Requires BUID verification first Phase 2+
Affinity export mechanism (cp_affinities → crm_data_changes) Phase 1.4 Awaiting Affinaquest export format Phase 2+
CLC Regional Admin (News) Phase 1.10.4 CLC model evolving toward Community Leadership Phase 1.12+
News Post Likes Phase 1.10.5 Nice-to-have engagement feature Phase 2+
News Post Analytics Dashboard Phase 1.10.5 Nice-to-have analytics Phase 2+
Featured Champions in News Phase 1.10.6 Requires champion tagging UI Phase 2+
CLC → Community Leadership Phase 1.12 CLC as Community Leadership Council vs District-based Phase 2+
Community Visibility Settings Phase 1.12 Public/Invite-Only/Private communities Phase 2+
Track affinity adds/removes for Advancement Services Phase 1.4 Awaiting Affinaquest export format Phase 2+
Drop cp_profile_changes table Phase 1.1 Superseded by crm_data_changes Post-Affinaquest
SMS/Phone Platform (Twilio) Phase 1.9 Cost/complexity for beta; high future value Phase 3+
Notification Digest Emails (Daily/Weekly) Phase 1.9/1.16 Infrastructure built; needs scheduling + testing Pre-MVP
@Mentions in Discussion Boards Phase 3 Complexity (name resolution, notifications) Phase 4+
Discussion Board Search Phase 3 Full-text search across posts/comments Phase 4+
Discussion Board Bookmarks Phase 3 Save posts for later reading Phase 4+
Mute Discussion Threads Phase 3 Stop notifications for specific threads Phase 4+
Additional Discussion Sort Options Phase 3 Top, Controversial, etc. Phase 4+
Multiple Images per Discussion Post Phase 3 Currently single image (MVP) Phase 4+
User Temp Bans Phase 3 24hr/7day/permanent bans by CL If needed
Advanced Discussion Reporting Analytics Phase 3 Content trends, user patterns, exportable reports (basic metrics in MVP Sub-Phase 3.8) Phase 4+
Profile Wizard Header Alignment Phase 4 Low priority — vertical rhythm on step 3 headers Future
Message Reactions Sizing Phase 4 Low priority — already functional, minor polish Future
Almost Alumni BUID Verification Phase 5.2 Alumni data has BUID but no degree records for current students Discussion
Degree Import Hook (Almost Alumni → Alumni Upgrade) Phase 5.2 Automatic upgrade when degree record added to alumni table Pre-MVP
Almost Alumni Upgrade Email Notification Phase 5.2 Notify champion when upgraded from Student to Alumni status Pre-MVP
Admin “Recheck Education” Action Phase 5.2 Staff action to manually trigger degree-based status upgrade Pre-MVP
Contact Notes Phase 5.3 Nice-to-have; not needed for MVP contacts Future
Community Suggestions Based on Contacts Phase 5.3 Suggest communities when 5+ contacts are members; needs more usage data Future
Popularity Boost for Contacts’ Content Phase 5.3 1.3x boost in discussion sorting for contacts’ posts; deferred with other popularity features Future
Dashboard “My Contacts” Widget Phase 5.3 Quick access widget on dashboard; other widgets prioritized Future
Profile “Similar Champions” Section Phase 5.4 Show recommendations on Champion profile pages Future
Recommendation “Not Interested” Feedback Phase 5.4 Allow users to dismiss irrelevant recommendations Future

SMS Platform Future Potential

Added: December 23, 2025 (Phase 1.9 planning)

Deferred from: Phase 1.9 (was considered as alternative to Facebook OAuth)

Why Deferred: Adds ongoing cost and complexity that isn’t critical for beta launch. Google SSO covers the primary authentication need.

Future Value (High):

Implementation Notes:

Target Phase: Phase 3 or 4, after Events/Stories prove Champion engagement


Notification Digest Emails (Daily/Weekly)

Added: January 2026 (Phase 1.9/1.16 cleanup)

Status: Infrastructure COMPLETE — Scheduling PENDING

What’s Built:

What’s Missing:

Why Deferred: During Phase 1.9, immediate notifications were prioritized. The daily/weekly digest options are visible in Settings but don’t actually send yet because the scheduler jobs aren’t configured.

To Complete (Pre-MVP):

  1. Add to Heroku Scheduler:
    # Daily digest - 7am Central (12pm/1pm UTC depending on DST)
    bin/rails runner "Cp::NotificationDigestJob.perform_now(digest_type: 'daily')"
    Schedule: Daily at 12:00 PM UTC
    
    # Weekly digest - Monday 7am Central
    bin/rails runner "Cp::NotificationDigestJob.perform_now(digest_type: 'weekly')"
    Schedule: Weekly on Monday at 12:00 PM UTC
    
  2. Update docs/operations/SCHEDULERS.md with the new entries

  3. Test on Staging:
    • Set own notification prefs to “daily” for some types
    • Wait for scheduler to run (or trigger manually)
    • Verify email arrives with correct content
    • Test weekly digest similarly
  4. Add tracking:
    • Notifications have emailed_at timestamp (already implemented)
    • Consider logging digest send counts for monitoring

Content Included in Digests:

Edge Cases to Test:

Target: Pre-MVP (before soft launch to Champions)


Almost Alumni BUID Verification Limitation

Added: January 2026 (Phase 5.2 implementation)

Context: When implementing the Almost Alumni (current student) membership type, we discovered that current students MAY have a BUID in the Alumni data system, but they won’t have degree records until they graduate.

The Problem:

Current Behavior (Phase 5.2):

Why This Is Acceptable:

Future Enhancement Options:

  1. Verify via @belmont.edu email — Current students often have active @belmont.edu emails
  2. Banner integration — If we get access to current enrollment data, we could auto-verify
  3. Self-service graduation claim — Let Almost Alumni mark themselves as graduated, then verify when degree data arrives
  4. Batch upgrade job — Periodic job to find Almost Alumni whose degrees have been added

For Discussion:

Estimated Effort: 1-2 hours (mostly testing and scheduler config)


7. Database Cleanup

6.1 Drop cp_profile_changes Table

Added: December 9, 2025 (Affinaquest unified sync planning)

Context: The cp_profile_changes table was created in Phase 1.1 as a changelog for CRM exports. It has been superseded by the unified crm_data_changes table (see UNIFIED_DATA_SYNC.md).

Current Status:

Migration Plan:

  1. ✅ Create new crm_data_changes table (Affinaquest Phase 1)
  2. ⏳ Update Champion Portal profile editing to use crm_data_changes (Phase 1.4 or 2)
  3. ⏳ Drop cp_profile_changes table after Champion Portal is using unified table
  4. ⏳ Remove Cp::ProfileChange model

Migration to Create:

class DropCpProfileChanges < ActiveRecord::Migration[7.1]
  def up
    drop_table :cp_profile_changes
  end
  
  def down
    # Recreate table if needed to rollback
    create_table :cp_profile_changes do |t|
      t.references :cp_champion, foreign_key: { to_table: :cp_champions }, null: false
      t.string :field_name, null: false
      t.string :table_name, null: false
      t.text :old_value
      t.text :new_value
      t.string :changed_by_type
      t.bigint :changed_by_id
      t.timestamps
    end
    
    add_index :cp_profile_changes, [:cp_champion_id, :created_at]
    add_index :cp_profile_changes, :created_at
    add_index :cp_profile_changes, :field_name
  end
end

Target: After Affinaquest import is live and Champion Portal profile editing uses crm_data_changes


8. Future Enhancements

7.1 Event RSVP Functionality

Added: January 14, 2026 (Phase 1.11 planning)

Idea: Built-in RSVP system for Champion Portal events, rather than relying solely on external RSVP links.

Features:

Why Deferred: Phase 1.11 focuses on admin-created events with external RSVP links to simplify MVP. Built-in RSVP adds complexity around capacity management, notifications, and cancellations.

Priority: Medium — valuable for engagement tracking but external links work for MVP

Target Phase: Phase 2+ (after community foundation proves value)


7.2 Community Suggestion Email Notifications

Added: January 14, 2026 (Phase 1.14 planning)

Idea: Email champions when a new community emerges that they belong to, rather than only showing in-app notifications.

Trigger: When CommunityCreationJob creates a new community and assigns members.

Email Content:

Why Deferred: Phase 1.14 focuses on in-app Dashboard notifications. Email adds complexity around delivery, opt-outs, and template design.

Priority: Medium — good for re-engagement of inactive champions

Target Phase: Future (after in-app notifications prove valuable)


7.3 In-App Notification Dropdown ⏳ IN PROGRESS

Added: January 14, 2026 (Phase 1.14 planning)
Promoted to Phase 1.16: January 12, 2026

Status: Comprehensive spec created at phase-1/1.16-notifications.md

Phase 1.16 Scope:

Target Phase: Phase 1.16 (next up after Phase 1.15)


7.4 Community-Centric Email Notifications ⏳ IN PROGRESS

Added: January 12, 2026 (Phase 1.15 implementation)
Promoted to Phase 1.16: January 12, 2026

Status: Being implemented as part of Phase 1.16. See phase-1/1.16-notifications.md for full spec.

Phase 1.16 Coverage:

Original Idea: Update email notification system to be community-centric rather than district-centric, reflecting the expanded community model.

  1. New Events Notification
    • Trigger: When an event is posted to a community (Phase 2+)
    • Audience: All community members
    • Content: Event title, date, description snippet, RSVP link
    • Frequency: Immediate with throttling (max 1 per community per day)
  2. New News/Posts Notification
    • Trigger: When a news post is published to a community
    • Audience: All community members
    • Content: Post title, excerpt, link to full post
    • Frequency: Weekly digest (avoid notification fatigue)
  3. New Discussion Activity Notification
    • Trigger: When discussions happen in community boards (Phase 3+)
    • Audience: Community members, thread participants
    • Content: Thread title, recent replies summary
    • Frequency: Daily digest (multiple threads per community)

Implementation Considerations:

Current State:

Priority: High — critical for community engagement and retention

Target Phase: Phase 2 (alongside Events submission) or Phase 3 (with Discussion Boards)

Dependencies:


7.5 Sync Imported Affinities

Added: December 8, 2025 (Phase 1.4 planning)

Idea: For verified champions (those with BUID linked), show their CRM-imported affinities from alumni_affinities and allow bulk add to their cp_affinities profile.

Flow:

  1. Champion is verified (BUID linked to account)
  2. System checks alumni_affinities for their BUID
  3. If affinities exist, show “We found X groups from your time at Belmont”
  4. Champion can review list and “Add all” or select individual ones
  5. Selected affinities copied to cp_affinities

Benefits:

Priority: Medium — nice engagement boost, but self-selection works fine for MVP

Target: Phase 2 (post-MVP)


How to Use This Document

Adding Items

  1. Add new ideas as they come up during development
  2. Include context — when was it added, what triggered the idea
  3. Estimate priority — High/Medium/Low
  4. Assign target phase — if known, add to Phase-Specific Deferrals table

Per-Phase Backlog Review Workflow

Before starting any sub-phase, the Sub-Phase Planning Checkpoint (see AGENTS.md) includes a backlog review:

  1. Check this file for items targeting the current phase
  2. Present items to user — ask if they should be included now
  3. User decides: include, defer to later phase, or skip entirely
  4. Update this file — remove implemented items, update target phases for deferred items

After Phase Completion

  1. Move completed items to CHANGELOG.md
  2. Update deferred items with new target phases
  3. Mark implemented sections with ✅ IMPLEMENTED and implementation date

Last updated: January 2026 (Phase restructure — added Feature Backlog section for post-MVP items)