alumni_lookup

Alumni Network — Backlog

Canonical sources: Portal philosophy, posture, and language live in /docs/planning/champion-portal/source/README.md.
Use these sources (including CHRIST_CENTERED__IDENTITY_STATEMENT.md) when writing specs or user-facing copy. Prefer quoting/paraphrasing over inventing new language.

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

When to Reference: During Sub-Phase Planning Checkpoint (see CLAUDE.md)

Last Updated: March 2026


Table of Contents

  1. Feature Backlog (Post-Beta)
  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-Beta)

These are significant features planned for after Beta launch. Prioritization will be based on alumni feedback and engagement data.

Feature Description Priority Effort Status
Alumni Business Directory Alumni can list their businesses for other Bruins to discover (“Hire a Bruin”) High Medium Backlog
Native Mobile App iOS/Android apps with push notifications High Very Large Backlog
Newsletter Tool Hard-coded sections + community content sections for staff-curated newsletters Medium Medium Backlog
Real-Time Messaging WebSocket-based instant messaging (currently async) Medium Large Backlog
Map View Visual map of alumni across the country Medium Medium Backlog
Advanced Search More filters, saved searches, search history Medium Medium Backlog
Job Board Alumni post job openingsReconsidering scope; may integrate with Business Directory TBD Large Backlog
Mentorship Center Structured mentorship matchingSuperseded by Phase 10: Connections Superseded
Staff Reporting & Analytics Community health dashboard and PDF report exports (Phase 6.2/6.3) — activity metrics & CSV exports already delivered in Phase 6.1; see Phase 6 README Medium Medium Backlog

1.1 Alumni Business Directory

Added: January 2026 (Phase restructure)

Description: Alumni with businesses can list them for discovery by other Bruins. 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.2 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.3 Real-Time Messaging

Added: January 2026 (Phase restructure)

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

Key Features:

Implementation: ActionCable WebSocket channels

Priority: Medium — current async model works fine for MVP; connections system (Phase 10) already solid


1.4 Map View

Added: January 2026 (Phase restructure)

Description: Visual map showing alumni 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:

Note: “Champions Like You” recommendations (Phase 5.4) already address the discovery use case. Current directory filters handle most search scenarios.

Priority: Medium — current filters handle most use cases


1.6 Mentorship Center — SUPERSEDED

Superseded by: Phase 10: Connections (February 2026)

Rationale: The Connections system replaces the planned Mentorship Center with a broader, less hierarchical approach. Instead of formal mentor/mentee roles, alumni request connections by type (Say Hi, Career Advice, Networking). This avoids the “loaded meaning” of mentorship while achieving the same goal: helping alumni find people 5 steps ahead or behind them for meaningful conversations.


1.7 CRM Workflow Improvements

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 Alumni Network.

Benefits:

Considerations:

Status: Captured for future consideration. Current plan continues with verification queue in Lookup Portal.


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 general availability

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:

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

Status: Seed script handles most cases. Manual DB edits sufficient for now.


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, enables future native app transition)


3.4 Batch Search Enhancements (Lookup Portal)

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.

Enhancements:

3.4.1 Column Alignment

Fix result table column alignment. Use fixed-width columns or sticky headers.

3.4.2 Multiple Match Resolution

When a search returns multiple matches, allow user to select which result to export (radio buttons or clickable cards).

3.4.3 Standard Alumni Export Format

Audit all alumni export formats across the application. Create shared export format applied to batch search.

3.4.4 Filter: Show Only Matches

Toggle to hide rows with 0 matches.

3.4.5 Export Options: Matches / Non-Matches / All

Radio buttons before export: All, Matches only, Non-matches only.

3.4.6 Copy/Paste Support for Spreadsheets

Copy Table as TSV button, individual cell copy, XLSX export option.

Priority: Medium-High (staff-requested feature)

Effort: Low–Medium per item


3.5 Email Address Change Flow ✅ IMPLEMENTED

Implemented: January 2026 (Phase 1.9.1) — Settings page with email change flow, confirmation email, CRM data change logging.


3.6 Simplify First Name Fields ✅ IMPLEMENTED

Implemented: December 2025 (Phase 1C) — Single “First Name” field with collapsible section for legal name and maiden name.


3.7 Invite Others CTA from Dashboard

Added: December 22, 2025 (Phase 1.6.2)

Idea: When a verified alum 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


3.8 Profile Page Visual Refresh ✅ IMPLEMENTED

Implemented: January 2026 (Phase 1.9.3) — Simplified directory cards, large photos with role badge, education display with college SVG icons, mobile-first layout.


4. Educational & Onboarding

Added: January 2026 (Phase 5.3 fixes). Updated: February 2026 (Phase 9 status).

Purpose: Track features, pages, and settings that need better user education — through tooltips, callouts, welcome emails, or in-app guidance.

4.1 Features Needing Tooltips

Status: All tooltip calls were removed in February 2026 during UX overhaul. The tooltip infrastructure (controller, helper, Stimulus controller, model methods) is preserved and ready for re-integration. When re-adding tooltips, design them around the ideal onboarding flow and current feature set.

Suggested tooltips for re-implementation:

Feature Location Tooltip Content Idea Priority
Directory Search Directory “Search for alumni by name, filter by college, district, or graduation year.” High
Community Discovery Home / Communities “Communities connect you with alumni who share your interests, location, or college.” High
Connection Requests Directory card / Profile “Send a connection request to start messaging this alum.” High
Career Resources Careers page “Access resume guides, interview prep, and alumni mentors.” Medium
Privacy Settings Settings → Privacy “Control who can see your location, contact info, and profile.” Medium
Notification Settings Settings → Notifications “Choose how you hear about new messages, events, and community activity.” Medium
Connections Preferences Settings → Connections “Set limits on who can send you connection requests.” Medium
Profile Completion Dashboard “A complete profile helps fellow Bruins find and connect with you.” Medium
Board Discussions Community Board “Start conversations, ask questions, and share updates with your community.” Low

4.2 Educational Callouts (Static Prompts)

Location Callout Content Status
Messages Index “You’re in control. Privacy Settings let you choose who can message you…” ✅ Implemented (Phase 5)
Directory Index “Your privacy matters. Privacy Settings let you control who can see your location…” ✅ Implemented (Phase 5)
Connections Page “Connections you make can reach you via direct messaging…” ⏳ Planned
Profile Edit “Your profile helps other alumni find and connect with you…” ⏳ Planned

4.3 Welcome Email Content

Email Trigger Content to Include Status
Account Verified Welcome! Here’s how to get started… ⏳ Backlog — Phase 9.6 spec ready, deferred March 2026
First Login Quick start guide: Find alumni, Update Profile, Join Communities ⏳ Backlog — Phase 9.6 spec ready, deferred March 2026
First Connection Made “Nice! You connected with [Name]. Here’s how messaging works…” ⏳ Planned

4.4 In-App Onboarding Ideas

Idea Description Priority
Onboarding Checklist Dashboard widget showing progress Medium
Feature Spotlight Modal popup for new features after major releases Low
Guided Tour Step-by-step tour on first login (Shepherd.js) Low
Contextual Help ”?” icons next to complex settings Medium

4.5 Documentation for Alumni

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

5. Technical Improvements

5.0 Async Digest Delivery with Synchronous Dedup

Added: February 18, 2026 (Hotfix for duplicate daily digest emails)

Context: The daily/weekly digest job used deliver_later, causing dedup race conditions. Fixed in v1.0.45 by switching to deliver_now. This is fine up to ~500 recipients.

Current State: ✅ Fixed with deliver_now (v1.0.45). Works reliably for current scale.

When to Revisit: When daily digest recipient count exceeds ~300-500.

Long-Term Fix — Synchronous Dedup + Async Delivery:

Write the EmailLog dedup record synchronously (with ‘queued’ status) before deliver_later:

log = Cp::EmailLog.log_email(champion: champion, email: champion.email,
  type: 'daily_digest', subject: 'Your Belmont Champions Update', status: 'queued')
Cp::NotificationMailer.daily_digest(champion, notifications, ...).deliver_later

Implementation Steps:

  1. Add 'queued' to Cp::EmailLog::EMAIL_TYPES status validations
  2. Update dedup check to include queued records
  3. Update EmailLoggingInterceptor to find+update existing queued log
  4. Add failed callback for Sidekiq delivery failures
  5. Add cleanup job for stale queued records (> 1 hour old → mark failed)

Priority: Low (current fix handles up to ~500 recipients reliably)


5.1 Account Merge Tool

Added: December 4, 2025

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

Priority: Low (can handle manually initially)


5.2 API-First Endpoints

Added: December 4, 2025

Idea: Build Alumni Network features with RESTful API endpoints to support future native mobile app.

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


5.3 “Smaller Area” District Handling

Added: December 4, 2025

Status: ✅ Partially addressed in Phase 1.9.4 — dashboard shows region fallback when alum is first in their district with “You’re the first 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. Updated February 2026.

Authentication & Signup

Item Original Phase Reason Deferred Status
Apple Sign In Phase 1.3 Focus on Google first Backlog
Facebook OAuth Phase 1.3 Requires FB Developer App Backlog
SSO account linking Phase 1.3 Complexity (edge case handling) Backlog
Account settings (connect/disconnect Google) Phase 1.3 ✅ Phase 1.9.1

Profile & Data

Item Original Phase Reason Deferred Status
Sync imported affinities to profile Phase 1.4 Requires BUID verification first Backlog
Affinity export mechanism (cp_affinities → crm_data_changes) Phase 1.4 Awaiting Affinaquest export format Backlog
Track affinity adds/removes for Advancement Services Phase 1.4 Awaiting Affinaquest export format Backlog

Discussion Boards

Item Original Phase Reason Deferred Status
@Mentions in discussions Phase 3 Complexity (name resolution, notifications) Backlog
Discussion board search Phase 3 Full-text search across posts/comments Backlog
Discussion bookmarks Phase 3 Save posts for later reading Backlog
Mute discussion threads Phase 3 Stop notifications for specific threads Backlog
Additional sort options (Top, Controversial) Phase 3 Beyond MVP needs Backlog
Multiple images per post Phase 3 Currently single image Backlog
User temp bans Phase 3 24hr/7day/permanent bans by CL If needed
Advanced discussion analytics Phase 3 Exportable reports beyond basic metrics Backlog

UI & Polish

Item Original Phase Reason Deferred Status
Profile wizard header alignment Phase 4 Low priority — vertical rhythm on step 3 Backlog
Message reactions sizing Phase 4 Minor polish; already functional Backlog

Membership & Verification

Item Original Phase Reason Deferred Status
Almost Alumni BUID verification Phase 5.2 Students have BUID but no degree records Discussion
Degree import hook (Almost Alumni → Alumni upgrade) Phase 5.2 Automatic upgrade when degree recorded Pre-MVP
Almost Alumni upgrade email notification Phase 5.2 Notify when upgraded from Student to Alumni Pre-MVP
Admin “Recheck Education” action Phase 5.2 Staff action to manually trigger upgrade Pre-MVP

Connections & Messaging

Item Original Phase Reason Deferred Status
Conversational connect scripts Phase 10 Pre-written message templates Backlog
Connection notes tracker Phase 10 Private notes on connections Backlog
Connection expiration / dormancy Phase 10 Auto-flag inactive connections Backlog
Proactive match suggestions Phase 10 System-suggested connections Backlog
Delayed / queued sends Phase 10 Schedule messages for later Backlog
Connection-based recommendation changes Phase 10 Adjust algorithm based on connection graph Backlog
Group connections Phase 10 Connect with multiple alumni at once Backlog

Champion Role & Engagement

Item Original Phase Reason Deferred Status
Activity-gap personalization Phase 11 Prioritize ideas based on activity gaps Backlog
Success metrics dashboard (role ideas) Phase 11 Admin dashboard with role adoption metrics Backlog
Multi-role support Phase 11 Allow multiple Champion roles; currently single-role Backlog

Source Alignment & Language

Item Original Phase Reason Deferred Status
Generosity-as-formation language (F-03) Phase 12 Add giving framing to contribution touchpoints Backlog
Source guardrail phrases (F-04) Phase 12 Incorporate prescribed vocabulary more broadly Backlog
i18n infrastructure (F-06) Phase 12 Extract user-facing strings to i18n YAML Backlog
Roles woven into experience (F-01) Phase 12 Weave roles into dashboard, empty states, notifications Backlog

Content Submissions

Item Original Phase Reason Deferred Status
Photo album submissions Phase 14 News/events done first; albums deferred Backlog
Rich text submission editor Phase 14 Plain text + image for MVP Backlog
Champion self-edit after submission Phase 14 Must ask staff via thread currently Backlog
Item Original Phase Reason Deferred Status
CSP enforcement mode Phase 16.5 Deployed in report-only mode first; switch to enforcement after log monitoring confirms no violations Backlog
GDPR rights management Phase 16 No EU users in beta audience; deletion/export infrastructure is in place Backlog (If EU expansion)
Cookie consent banner Phase 16 No analytics/tracking cookies; not required unless third-party tracking added Backlog (If tracking added)

Progressive Dashboard & Journey Tiers

Item Original Phase Reason Deferred Status
Compact mobile hero (condensed height for returning users) Phase 13.2 Low priority polish Backlog
“What’s new” contextual sub-line in hero Phase 13.2 ✅ Delivered in Phase 13.8 (What’s New summary bar below hero) ✅ Complete
Mobile sidebar fold (2 items above fold, rest collapsed) Phase 13.2 UX polish; desktop parity first Backlog
Card standardization (unified card component across tiers) Phase 13.2 Refactor; no new functionality Backlog
Icon color variation per section type Phase 13.2 Visual polish Backlog
Activity feed (discussions + news + photos combined) Phase 13.3 ✅ Delivered in Phase 13.3 (ActivityFeedService with scoring engine) ✅ Complete
Nudge engine (gentle CTA after Champion-like actions) Phase 13.4 ✅ Delivered in Phase 13.7 (Champion Nudge Engine + Role Microsite) ✅ Complete
Personalization (activity-gap based content ordering) Phase 13.5 Requires activity history Backlog
Stage transition animations & coach marks Phase 13.6 Polish layer Backlog
Champion Dashboard Layout (separate _stages/champion.html.erb) Phase 13.5.1 Existing champion/active_champion stage partials sufficient Backlog
“Your Impact” sidebar widget (connection/community/post counts) Phase 13.5.2 Nice-to-have; can add in future iteration Backlog
Dismissable contextual prompts (seen_tooltips JSONB pattern) Phase 13.5.3 Not needed for initial launch Backlog
coaching_in_digest notification preference toggle Phase 13.5.3b Always shows for Tier 2+; add opt-out later if requested Backlog
Champion scoring boost in directory/recommendations Phase 13.5.4 Requires tuning; defer to avoid unintended ranking effects Backlog
Champion opt-in nudge via journey stage Phase 13.7 ✅ Delivered in Phase 13.7 (dashboard nudge card on engaged_member stage) ✅ Complete
Bulk approve/decline Phase 14 One at a time currently Backlog

Career Center

Item Original Phase Reason Deferred Status
Video career resources Phase 7 PDF-first; add video if demand emerges Backlog
OCPD content CMS Phase 7 Hardcoded section sufficient; content changes rarely Backlog
Resource ratings/feedback Phase 7 Gauge demand first Backlog
In-app PDF viewer Phase 7 Browser handles PDF viewing Backlog

Notifications

Item Original Phase Reason Deferred Status
Push notifications Phase 1 ✅ Implemented (Phase 8.6) — VAPID web push for staff (Lookup Portal) and Champions
Onboarding email drip series Phase 9.6 Portal needs more users before optimizing activation flow Backlog (High)
SMS/phone platform (Twilio) Phase 1.9 Cost/complexity for beta Backlog

Seeded Questions

Item Original Phase Reason Deferred Status
Seeded question daily scheduler job Phase 9.2 Auto-publish on schedule Backlog
Seeded question A/B testing Phase 9.2/9.3 Test variants for engagement Backlog
Seeded question response analytics Phase 9.3 Engagement metrics per question Backlog

Staff Analytics (Phase 6)

Rationale for deferral: Build up the user base first — analytics are more valuable once there is meaningful activity to measure. Phase 9.4 covers onboarding metrics. Full spec in phases/phase-6/README.md.

Item Original Phase Description Priority
Activity Metrics Dashboard (6.1) Phase 6 Staff dashboard: total Champions, active users, growth trends, event/story submission counts, time period filters Medium
Region Health Dashboard (6.2) Phase 6 Per-region health scores (active %, events, posts, CLC assigned), color-coded table with drill-down Medium
Reports & Exports (6.3) Phase 6 Monthly summary, region detail, CLC performance report templates; PDF/CSV export; scheduled CRM export Medium

7. Database Cleanup

7.1 Drop cp_profile_changes Table

Added: December 9, 2025

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.

Current Status:

Migration Plan:

  1. ✅ Create new crm_data_changes table (Affinaquest Phase 1)
  2. ✅ Update profile editing to use crm_data_changes
  3. ⏳ Drop cp_profile_changes table
  4. ⏳ Remove Cp::ProfileChange model

Target: Next cleanup sprint


8. Future Enhancements

8.1 Event RSVP Functionality

Added: January 14, 2026

Idea: Built-in RSVP system for Alumni Network events, rather than relying on external RSVP links.

Features:

Why Deferred: Current system uses 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 now


8.2 In-App Notification System ✅ IMPLEMENTED

Implemented: Phase 8 (Notifications & Digests) — Bell icon, unread badge, notification dropdown, per-type preferences, daily/weekly email digests.


8.3 Community Email Notifications ✅ IMPLEMENTED

Implemented: Phase 8 (Notifications & Digests) — New members, new events, discussion activity notifications with per-type preferences and digest scheduling.


8.4 Sync Imported Affinities

Added: December 8, 2025

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

Flow:

  1. Alum 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. Alum can review list and “Add all” or select individual ones
  5. Selected affinities copied to cp_affinities

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


8.5 Almost Alumni BUID Verification

Added: January 2026 (Phase 5.2 implementation)

Context: Current students may exist in the Alumni table with a BUID but have no degree records.

Current Behavior:

Future Enhancement Options:

  1. Verify via @belmont.edu email
  2. Banner/enrollment data integration
  3. Self-service graduation claim
  4. Batch upgrade job when degrees are added

8.6 SMS Platform

Added: December 23, 2025 (Phase 1.9 planning). Deferred: Cost/complexity for beta.

Future Value (High):

Implementation Notes:


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 CLAUDE.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: March 2026