Generated: 2026-03-11
Legacy source: https://pfachievement-staging.herokuapp.com/backend (58 pages crawled)
New portal: /src/app/ (Next.js 16, React 19, Prisma)
Legend: ✅ Implemented | ⚠️ Partial | ❌ Missing
This is the most feature-dense page in the portal and has the largest gap surface.
| Field |
Legacy |
New Portal |
| First name, Last name |
✅ |
✅ |
| Primary email |
✅ |
✅ |
| Secondary email |
✅ |
❌ |
| Mobile phone |
✅ |
✅ |
| Home phone |
✅ |
❌ |
| Date of birth |
✅ |
✅ |
| HC ID (pfa_id) |
✅ |
✅ |
| Gender |
✅ |
❌ (not displayed) |
| High school |
✅ |
✅ |
| Grad year |
✅ |
✅ |
| Address (line1, line2, city, state, zip, country) |
✅ |
✅ |
| Preliminary major |
✅ |
✅ |
| Dream job |
✅ |
✅ |
| Status flags (Active/Suspended/Hidden/On Hold/Reference) |
✅ (displayed) |
❌ |
| Desired outcomes |
✅ |
❌ |
| Counselor hours used/total |
✅ |
✅ |
| Essay hours used/total |
✅ |
✅ |
| Tutor hours used/total |
✅ |
✅ |
| Next contact date |
✅ |
✅ |
| Selectivity |
✅ (dropdown) |
❌ |
Legacy form fields on /backend/students/:id (PATCH/POST):
Contact & Identity:
| Field |
Legacy |
New Portal |
| First name |
✅ |
✅ |
| Last name |
✅ |
✅ |
| Gender |
✅ |
❌ |
| Primary email |
✅ |
✅ |
| Secondary email |
✅ |
❌ |
| Mobile phone + country code |
✅ |
✅ |
| Home phone + country code |
✅ |
❌ |
| Date of birth |
✅ |
✅ |
| Address (country, state, city, zip, line1, line2) |
✅ |
✅ |
Academic / Enrollment:
| Field |
Legacy |
New Portal |
| High school (dropdown selector) |
✅ |
❌ |
| Grad year |
✅ |
✅ |
| Preliminary major |
✅ |
✅ |
| Major commitment (Very Committed, etc.) |
✅ |
❌ |
| Dream job |
✅ |
✅ |
| Career interests |
✅ |
❌ |
| College goals (textarea) |
✅ |
❌ |
| Visited colleges (textarea) |
✅ |
❌ |
| Desired outcomes (textarea) |
✅ |
❌ |
Student Profile / About Me:
| Field |
Legacy |
New Portal |
| Activities description |
✅ |
❌ |
| Hobbies |
✅ |
❌ |
| About me facts |
✅ |
❌ |
| Employment |
✅ |
❌ |
| Work ethic (textarea) |
✅ |
❌ |
| Challenges (textarea) |
✅ |
❌ |
College Preferences (student "fit" filters):
| Field |
Legacy |
New Portal |
| Geographic region preferences (9 checkboxes: West/Midwest/Northwest/South/Southwest/Southeast/MidAtlantic/Northeast/No pref) |
✅ |
❌ |
| Campus setting preferences (Urban/Suburban/Rural/No pref) |
✅ |
❌ |
| School size preferences (X-large/Large/Med/Small/No pref) |
✅ |
❌ |
| Campus type (HBCU/Diverse/Male/Female/No pref) |
✅ |
❌ |
| Political climate (Conservative/Moderate/Liberal/No pref) |
✅ |
❌ |
| Athletics (Scholarship desired/D1/Not a consideration) |
✅ |
❌ |
| Selectivity (Elite/Highly Selective/Moderately Selective/Open Enrollment/No pref) |
✅ |
❌ |
College Factors (each rated by importance):
| Factor |
Legacy |
New Portal |
| Religious affiliation importance |
✅ |
❌ |
| College athletics (spec) |
✅ |
❌ |
| Health and others |
✅ |
❌ |
| Strength of major |
✅ |
❌ |
| Brand name recognition |
✅ |
❌ |
| Student/faculty ratio |
✅ |
❌ |
| Study abroad |
✅ |
❌ |
| Affordability |
✅ |
❌ |
| Financial need-based aid |
✅ |
❌ |
| Merit aid |
✅ |
❌ |
| Internships |
✅ |
❌ |
| Alumni network |
✅ |
❌ |
| Job placement |
✅ |
❌ |
| Other factors (textarea) |
✅ |
❌ |
Special Considerations (checkboxes):
| Flag |
Legacy |
New Portal |
| 1st Generation College Student |
✅ |
❌ |
| Highly Selective Admissions |
✅ |
❌ |
| IEP or 504 |
✅ |
❌ |
| Family Military Service |
✅ |
❌ |
| Sports/Music/Talent Scholarship Potential |
✅ |
❌ |
| BSMD |
✅ |
❌ |
| Other |
✅ |
❌ |
Status Flags:
| Flag |
Legacy |
New Portal |
| Reference (checkbox) |
✅ |
❌ |
| Suspended (checkbox) |
✅ |
❌ |
| Hidden (checkbox) |
✅ |
❌ |
| On Hold (checkbox) |
✅ |
❌ |
Password Management:
| Feature |
Legacy |
New Portal |
| Set new password + confirmation |
✅ |
❌ |
| Autogenerate password |
✅ |
❌ |
| Send password to student |
✅ |
❌ |
Financial Details (Parent/Financial Aid):
| Field |
Legacy |
New Portal |
| Gross annual income (select range) |
✅ |
❌ |
| Non-retirement assets (select range) |
✅ |
❌ |
| Total college savings (select range) |
✅ |
❌ |
| Willing to pay (select range) |
✅ |
❌ |
| Take loans (select) |
✅ |
❌ |
| Discuss with student |
✅ |
❌ |
| Discuss with team |
✅ |
❌ |
| Enter dollar amount (need-based aid) |
✅ |
❌ |
The new portal shows the conversation log read-only. The legacy has a full comment creation form.
| Feature |
Legacy |
New Portal |
| View conversation log |
✅ |
✅ |
| Filter by employee/type/subject/comment |
✅ |
✅ |
| Add new comment |
✅ |
❌ |
| — Select HC Employee |
✅ |
❌ |
| — Comment date |
✅ |
❌ |
| — Note type (meeting/admin/etc.) |
✅ |
❌ |
| — Hour tracking (billing: service hours type) |
✅ |
❌ |
| — Subject |
✅ |
❌ |
| — Rich text body |
✅ |
❌ |
| — Show to clients (checkbox) |
✅ |
❌ |
| — Save Conversation / Save and Notify |
✅ |
❌ |
| Edit existing comment |
✅ |
❌ |
| Admin Notes (internal text note, separate from comments) |
✅ |
❌ |
| Essay Notes (separate essay note textarea) |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| View ACT scores (date, composite, subtype, subscores) |
✅ |
✅ |
| View SAT scores (date, composite, reading, math) |
✅ |
✅ |
| View GPA (weighted + unweighted + scale) |
✅ |
⚠️ shown via high school students table but not on detail |
| View AP Subject scores |
✅ |
❌ |
| Add ACT score (english, math, reading, science, composite) |
✅ |
❌ |
| Add SAT score (math, reading, composite) |
✅ |
❌ |
| Add GPA (weighted/unweighted + scale selector) |
✅ |
❌ |
| Add AP Subject score |
✅ |
❌ |
| Edit/Delete existing score |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| Tutor session table (date, tutor, notes) |
✅ |
❌ (not shown at all) |
| Feature |
Legacy |
New Portal |
| Services table (service, advisor, enrollment date, price) |
✅ |
❌ (button exists but no page) |
| Services & Billing action button |
✅ |
✅ (button, no destination) |
| Feature |
Legacy |
New Portal |
| View tasks (task name, status dropdown, timing) |
✅ |
✅ (read-only cards) |
| Update task status inline (Not started/Registered/In Progress/Completed/Opted out/N/A) |
✅ |
❌ |
| View workshops |
✅ |
✅ (read-only cards) |
| Update workshop status inline |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| View family members (name, relationship, email, phone) |
✅ |
✅ |
| Add family member (Manage Family modal) |
✅ |
✅ |
| Edit family member |
✅ |
❓ (modal exists but edit unconfirmed) |
| Delete family member |
✅ |
❓ |
| Feature |
Legacy |
New Portal |
| YCBM appointments table (type, date, profile, time) |
✅ |
✅ |
| Action |
Legacy |
New Portal |
| Edit student profile |
✅ (/edit?return_to=detail) |
✅ |
| Compose Email |
✅ (/mail_to) |
❌ |
| Login as Student |
✅ (/impersonate) |
✅ |
| Send Student Password Reset |
✅ |
❌ |
| Notes (admin notes page) |
✅ |
❌ |
| Documents |
❌ (legacy had link) |
✅ (button, no destination) |
| Login History |
✅ |
✅ (button, but shows "No login history found") |
| View College List in Student Portal |
✅ |
❌ (not a distinct action) |
| Feature |
Legacy |
New Portal |
| Counselor tab (student list) |
✅ |
✅ |
| Tasks tab |
✅ |
✅ |
| Workshops tab |
✅ |
✅ |
| Essay Coach tab |
✅ |
✅ |
| Tutor tab |
✅ |
✅ |
| Search/filter students |
✅ |
✅ |
| Filter by status (Active/Hidden/Suspended) |
✅ |
✅ |
| Send Mass Email button |
✅ |
❌ |
| Pagination |
✅ |
✅ |
| Table view (legacy) vs. Card view (new) |
— |
⚠️ Different UI paradigm; functionality equivalent but essay coach view columns differ |
Essay Coach tab column gap:
Legacy columns: Student | Major | Counselor | Essay Coach | Last Essay Meeting | Next Scheduled Essay Meeting | Total Essay Coach Meetings | Essay Coach Hours Used/Total | Total Hours Remaining | Notes | Common App PS Workshop | First Essay Coach Meeting | Personal Statement Complete | Supplemental Essay Workshop
New portal shows: cards with similar data but Personal Statement Complete, First Essay Coach Meeting, Common App PS Workshop, Supplemental Essay Workshop flags are ❌ not shown.
| Column |
Legacy |
New Portal |
| Name |
✅ |
✅ |
| Acceptance % |
✅ |
✅ |
| State |
✅ |
✅ |
| ACT/SAT 25% |
✅ |
✅ |
| ACT/SAT 75% |
✅ |
✅ |
| Early Action Deadline |
✅ |
✅ |
| Early Decision Deadline |
✅ |
✅ |
| Edit link |
✅ |
✅ |
| Sort / Search |
✅ |
✅ |
The new portal has an extensive college edit form but the legacy has a few additional fields:
| Field |
Legacy |
New Portal |
| Avatar / Banner image upload (file) |
✅ |
❌ (URL text fields only, no file upload) |
| Net price calculator URL |
✅ (net_price_calc_url) |
❌ |
| Acceptance rate year (select) |
✅ (acc_rate_year) |
❌ |
| National rank year (select) |
✅ (nat_rank_year) |
❌ |
| STARS/SRAR required |
✅ (stars_srar_required) |
❌ |
| Priority financial deadline |
✅ (priority_financial_deadline) |
❌ |
| Graduating class job offers % |
✅ (graduating_class_job_offers) |
❌ |
| NN scholarship awards offered |
✅ (nn_scholarship_awards_offered) |
❌ |
| Common App rich text insight link (URL + link/unlink) |
✅ |
❌ |
| Update verified checkbox |
✅ (update_verified) |
❌ |
| BS/MD Duration (checkboxes: 6yr/7yr/8yr) |
✅ |
✅ |
| Application methods (checkboxes: Common App, Coalition, etc.) |
✅ |
✅ |
| Column |
Legacy |
New Portal |
| Name |
✅ |
✅ |
| Kind (Public/Private/Other) |
✅ |
✅ |
| Country |
✅ |
❌ (not shown in list) |
| State |
✅ |
✅ |
| Group |
✅ |
❌ |
| Total Students |
✅ |
✅ |
| Merge High Schools feature |
✅ |
❌ |
| Field |
Legacy |
New Portal |
| Name |
✅ |
❌ (no edit form in new portal) |
| Kind (Public/Private/Other) |
✅ |
❌ |
| Country |
✅ |
❌ |
| State/Province |
✅ |
❌ |
| School website |
✅ |
❌ |
| Link to school profile |
✅ |
❌ |
| School calendar link |
✅ |
❌ |
| Niche ranking |
✅ |
❌ |
The new portal has no high school edit form at all. It shows the detail page with students but provides no way to update high school metadata.
| Report |
Legacy |
New Portal |
| College Decision Report |
✅ |
⚠️ (partial — see below) |
| Hours Report |
✅ |
✅ |
| Student Scores Report |
✅ |
❌ |
| Evidence Report |
✅ |
❌ |
| Siblings Report |
✅ |
❌ |
| College List Report |
✅ |
✅ |
¶ 5a. College Decision Report — Missing Columns
| Column |
Legacy |
New Portal |
| Student name |
✅ |
✅ |
| Accepted colleges (count) |
✅ |
✅ |
| Waitlisted colleges (count) |
✅ |
❌ |
| Rejected colleges (count) |
✅ |
❌ |
| Rescinded colleges (count) |
✅ |
❌ |
| Unweighted GPA |
✅ |
❌ |
| Weighted GPA |
✅ |
❌ |
| Successful appeal (Y/N) |
✅ |
❌ |
| Appeal amount |
✅ |
❌ |
| Merit scholarship (Y/N) |
✅ |
✅ |
| Merit amount |
✅ |
✅ |
| Private scholarship (Y/N) |
✅ |
❌ |
| Number of private scholarships |
✅ |
❌ |
| Counselor |
✅ |
❌ |
| Filter |
Legacy |
New Portal |
| Date range (start/end) |
✅ |
✅ |
| Select employee (multi-select) |
✅ |
✅ |
Legacy: /backend/student_scores_report/report
Fields/filters: grad year (multi-select), employees (multi-select), score type (select)
Output: per-student score summary by employee.
New portal: ❌ not implemented
| Setting |
Legacy |
New Portal |
| Default service for counselor tasks |
✅ |
❌ |
| Default service for tutor tasks |
✅ |
❌ |
| Default service for essay tasks |
✅ |
❌ |
| Load factors grid (counselor × 12 months × 3 year levels) |
✅ |
❌ |
| Load factors grid (tutor × 12 months × 3 year levels) |
✅ |
❌ |
| Load factors grid (essay coach × 12 months × 3 year levels) |
✅ |
❌ |
New portal settings page shows a students list (paginated table) instead of these configuration options. The legacy settings are not implemented at all in the new portal.
| Feature |
Legacy |
New Portal |
| Employee list (name, email, etc.) |
✅ |
⚠️ (Settings tab, read-only) |
| Employee edit (all role checkboxes, phone, scheduling link, video link, avatar, target billable hours by month) |
✅ |
❌ |
| Employee create |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| Programs list |
✅ |
✅ (read-only) |
| Program detail (name, description, associated services, z-order) |
✅ |
❌ |
| Edit program |
✅ |
❌ |
| Create program |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| Services list |
✅ |
✅ (read-only) |
| Service detail (code, name, description, price, dates, hours, sessions, type, meeting frequency) |
✅ |
❌ |
| Edit service |
✅ |
❌ |
| Create service |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| Badges list |
✅ |
❌ (no page) |
| Edit badge |
✅ |
❌ |
| Create badge |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| Global tasks list (all tasks across system) |
✅ |
❌ |
| Edit task |
✅ |
❌ |
| Create task |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| Email template list |
✅ |
❌ |
| Edit email template |
✅ |
❌ |
These pages exist in the legacy portal but have no equivalent in the new portal:
| Page / Feature |
Legacy Route |
Notes |
| Registration & Attendance Report |
/backend/ycbm_event_bookings/attendance_report |
YCBM event registration tracking |
| Time Sheets |
/backend/time_sheets |
Employee time tracking (Employee Name, Week, Total Hours, Status) |
| Database Chat Bot |
/backend/chat_bot |
AI chat interface to query the database |
| Nylas Scheduler Editor |
/backend/nylas_scheduler/editor |
Configure scheduling pages (title, description, availability, Zoom link) |
| Product Order |
/backend/admin_orders/new |
Service/product ordering form for students |
| Compose Email |
/backend/students/:id/mail_to |
Direct email to student |
| Send Password Reset |
/backend/students/:id/password_reset |
Trigger password reset email |
| Student Special Circumstances (Notes) |
/backend/students/:id/student_special_circumstances |
Internal notes about student special circumstances |
| Page |
Legacy |
New Portal |
| Home / Activity |
✅ |
✅ |
| Profile (read-only) |
✅ |
✅ |
| Profile Edit — Contact Info |
✅ |
✅ |
| Profile Edit — Academic Info |
✅ |
❌ |
| Change Password |
✅ |
❌ |
| College Search |
✅ |
✅ |
| College List |
✅ |
✅ |
| Compare Colleges |
✅ |
✅ |
| Resources |
✅ |
✅ |
| Scheduling |
✅ |
✅ |
| Field |
Legacy |
New Portal |
| First name |
✅ |
✅ |
| Last name |
✅ |
✅ |
| Email |
✅ |
✅ |
| Mobile phone |
✅ |
✅ |
| Date of birth |
✅ |
✅ |
| Gender |
✅ |
✅ |
| Address (line1, line2, city, state, zip) |
✅ |
✅ |
Legacy page /students/profiles/academic_info — fields inferred from db/model:
| Field |
Legacy |
New Portal |
| Dream job |
✅ |
❌ (only editable by employee) |
| Preliminary major |
✅ |
❌ |
| High school (read + confirm) |
✅ |
❌ |
| Grad year |
✅ |
❌ |
| Feature |
Legacy |
New Portal |
| Change own password |
✅ (/students/profiles/change_password) |
❌ |
| Field |
Legacy |
New Portal |
| Activity list (tasks, meetings, workshops by semester) |
✅ |
✅ |
| Team members |
✅ |
✅ |
| Top colleges |
✅ |
✅ |
| Services enrolled |
✅ |
✅ |
| Upcoming meetings count |
✅ |
✅ |
| Field |
Legacy |
New Portal |
| Application status |
✅ |
✅ |
| Deadline |
✅ |
✅ |
| Target submission date |
✅ |
✅ |
| Major 1 |
✅ |
✅ |
| Major 2 |
✅ |
✅ |
| Ranking / Priority reorder |
✅ |
✅ |
| Priority type |
✅ |
✅ |
| Acceptance deadline |
✅ |
✅ |
| Applied (boolean) |
✅ |
✅ |
| Final choice (boolean) |
✅ |
✅ |
| Status |
✅ |
✅ |
| Add college to list |
✅ |
✅ |
| Remove college from list |
✅ |
❓ (unconfirmed) |
- Add/Edit Conversation Log entries — counselors cannot log meetings, hours, or notes
- Add/Edit Test Scores (ACT, SAT, GPA, AP scores) — no write capability
- Student status flags (Active/Suspended/Hidden/On Hold) — cannot change student status
- High school assignment (edit student's high school) — no dropdown to change
- Task/Workshop status updates — inline status changes missing from student detail
- Student password management — cannot set/reset student passwords from student detail
- Student profile completeness (secondary email, home phone, desired outcomes, gender display)
- College preferences — entire "fit" system (geography, size, campus type, factors) missing from edit
- Special considerations flags (1st gen, IEP, military, BSMD)
- Financial details (parent income, assets, savings, willingness to pay)
- Admin Notes and Essay Notes (internal notes separate from conversation log)
- High school edit form — no way to update high school metadata
- Employee edit form — cannot update employee profiles, roles, or billing targets
- Student Scores Report — missing entirely
- Student change password (student portal)
- Student academic info edit (student portal — dream job, major editable by student)
- College Decision Report missing columns (GPA, waitlisted/rejected/rescinded counts, counselor, appeal, private scholarship)
- College edit missing fields (net price URL, year selectors, SRAR, image upload, priority fin deadline)
- Send mass email from dashboard
- Compose email to individual student
- Send password reset email to student
- Programs CRUD (edit/create programs)
- Services CRUD (edit/create services)
- Settings configuration (default services, load factors grid)
- Tutor sessions table on student detail
- Registration & Attendance Report (YCBM event tracking)
- Time Sheets (employee time tracking)
- Database Chat Bot
- Nylas Scheduler Editor
- Product Order form
- Email Templates management
- Badges CRUD
- Global Tasks management
- Student Special Circumstances notes page
- High school group/merge feature
- Evidence / Siblings Reports
These are improvements or additions in the new portal that don't exist in the legacy:
- College list card view (vs. table) on employee dashboard — richer at-a-glance summary
- College list sorting by more criteria (acceptance rate, state) with direction toggle
- High school list sorting by more criteria with direction toggle
- Student hours bars as visual progress bars (legacy shows raw numbers)
forbesFinancialGrade, usNewsPoliticalScience, usNewsPsychology, usNewsTeaching, usNewsResearch (some ranking fields added to college edit that may not be in legacy)
- Student portal impersonation accessible directly from student detail (link present in both, but new portal supports
?studentId= param throughout student portal routes)