Feature: Company Alumni Contacts for Referrals
Goal
Enable students viewing a job posting to discover MA alumni who currently work at the same company and have opted in to be contacted for referrals or informal questions.
Background & Context
Student job boards often lack a warm-intro pathway, despite alumni being one of the strongest predictors of interview success.
This feature connects those two datasets with minimal new infrastructure, leveraging:
- Existing Postgres CRUD patterns
- Read-heavy queries
- Simple relational joins
High-Level User Flow
Student
- Browses job board
- Opens job details
- Sees a “People at {Company}” section
- Clicks a linkedin profile to request a referral or reach out externally
Alumni
- Opts into being listed as a referral contact
- Selects company affiliation(s)
- Optionally sets preferences (roles, frequency, contact method)
Data Model Extensions (Postgres)
New Table: alumni_profiles
id (uuid, pk)
user_id (uuid, fk -> users.id)
current_company (text)
current_title (text)
linkedin_url (text)
contact_email (text)
referral_opt_in (boolean)
created_at (timestamp)
updated_at (timestamp)
Optional Join Table (Future-Proofing): alumni_companies
Use if alumni may want to list multiple companies (past or present).
id (uuid, pk)
alumni_profile_id (uuid, fk)
company_name (text)
is_current (boolean)
referral_opt_in (boolean)
Job Table (Existing)
No schema change required if company is a normalized string.
Long-term improvement: introduce a companies table for canonicalization.
API Changes (CRUD-Compatible)
New Endpoints
- GET /alumni?company=Stripe
- Returns opted-in alumni at a given company
- Filters:
- referral_opt_in = true
- is_current = true
- POST /alumni/profile
- Create or update alumni profile
- Auth required
Existing Endpoint Augmentation
- GET /jobs/:id
- Server-side join or follow-up query to fetch alumni by company
Frontend (Next.js)
Job Detail Page
Add a new section below job description:
People at {Company}
- Alumni name
- Title
- Graduation year (if available)
- “Open to referrals” badge
- External links:
- LinkedIn
- Email (optional)
Alumni Settings Page
Simple form:
- Current company
- Title
- Contact method
- Referral opt-in toggle
- Visibility preview
Privacy & Consent
Default State
- Alumni are not visible unless explicitly opted in
Visibility Rules
- Only visible to members
- Contact details limited to what alumni provide
- No scraping or bulk export
Abuse Prevention (Phase 2)
- Rate-limit profile views
- Optional “Request intro” instead of direct email
Matching Logic
Initial Version
- Exact string match on job.company == alumni.current_company
Known Issues
- “Google” vs “Google LLC”
- “Meta” vs “Facebook”
Mitigation
- Admin-managed company aliases
- Future companies normalization table
Additional Considerations
The first year reps will likely be doing outreach for this so we need an effective system for data ingestion from contacts they get approval from.
@Kevinxygu up to you to decide how this looks, could ingest from google forms with a script that pushes to an endpoint and inserts into the alumni table.
Feature: Company Alumni Contacts for Referrals
Goal
Enable students viewing a job posting to discover MA alumni who currently work at the same company and have opted in to be contacted for referrals or informal questions.
Background & Context
Student job boards often lack a warm-intro pathway, despite alumni being one of the strongest predictors of interview success.
This feature connects those two datasets with minimal new infrastructure, leveraging:
High-Level User Flow
Student
Alumni
Data Model Extensions (Postgres)
New Table: alumni_profiles
Optional Join Table (Future-Proofing): alumni_companies
Use if alumni may want to list multiple companies (past or present).
Job Table (Existing)
No schema change required if company is a normalized string.
Long-term improvement: introduce a companies table for canonicalization.
API Changes (CRUD-Compatible)
New Endpoints
Existing Endpoint Augmentation
Frontend (Next.js)
Job Detail Page
Add a new section below job description:
People at {Company}
Alumni Settings Page
Simple form:
Privacy & Consent
Default State
Visibility Rules
Abuse Prevention (Phase 2)
Matching Logic
Initial Version
Known Issues
Mitigation
Additional Considerations
The first year reps will likely be doing outreach for this so we need an effective system for data ingestion from contacts they get approval from.
@Kevinxygu up to you to decide how this looks, could ingest from google forms with a script that pushes to an endpoint and inserts into the alumni table.