NYU · Academic Tool Design · 2026
The course intel NYU students actually need
A verified, student-only platform for browsing syllabi, rating professors, and getting AI-powered answers about any NYU course - before you ever enroll.

Duration
12 weeks
Role
Lead UX/UI
Platform
iOS
Tested with
20 students
01 · Problem
Three real problems, zero good solutions
Before designing anything, I mapped the exact friction points NYU students face during course registration.
Syllabi are locked
NYU releases syllabi only after enrollment closes. Students commit blind - no workload, exam structure, or required texts.
Rate My Professor is unverified
Anyone can rate any professor. NYU professors get reviews from people who never attended NYU, creating misleading scores.
No centralized intel
Students cobble information from Reddit, GroupMe and older students. No single trusted source of NYU-specific intel exists.
02 · Research
Listening before designing
14 user interviews and an 89-response survey across CAS, Stern, Gallatin, Tisch and Tandon.
Verification matters most. In every interview, the #1 concern with existing tools was 'I don't know if the reviewer is even an NYU student.' Trust is the core UX problem.
Workload is the most-requested data. Students want weekly time commitment more than grade distribution or professor personality.
Students will contribute if it's frictionless. 94% said they'd upload a syllabus - the barrier is effort. Drag-and-drop is the threshold.
Prospective students are completely locked out. Admitted-but-not-enrolled students have zero access to Albert, Brightspace, or any official materials.
03 · Competitive Audit
The gap on a 2×2
I mapped every tool NYU students actually use against two axes that emerged from interviews: verification of reviewer and depth of course intel.
The top-right quadrant - verified reviewers + deep intel - was empty. RMP has scale but no verification; Reddit has anecdote but no structure; Albert has authority but is locked behind enrollment. ClassRate's wedge is the intersection.
Rate My Professor
Gap: Anyone can rate anyone. No syllabi. Personality > workload. SEO-optimized noise.
Strength: Massive scale and brand recognition.
Reddit r/NYU
Gap: Search is broken. Threads decay. Karma rewards spice over signal.
Strength: Verified anecdote when you find it.
Coursicle
Gap: Scheduling tool first. No reviews, no syllabi. Notification-driven, not intel-driven.
Strength: Best-in-class course-section UX.
"How might we give NYU students Albert-grade course intel before they enroll - without compromising reviewer anonymity or inviting harassment?"
"If I knew this professor's weekly workload, I would have made a different choice. That one decision cost me a 3.4 GPA."
- Junior, CAS, double major
04 · Personas
Three students, three real needs
Interview clustering and affinity mapping produced three primary archetypes.
Sofia, 19
Overwhelmed by the catalog. No older students, no GroupMe. Relies on vague official descriptions.
Marcus, 21
Heavy load + internship recruiting. Needs precise schedules - certain professors spike in weeks 10–14.
Priya, 22
Has NYU email but no Albert access. Planning first semester before arriving on campus.
05 · Information Architecture
Structure before screens
Two rounds of card sorting with 12 participants determined how students naturally group course information.
✦ New signature features
06 · Design System
Brand-led, trust-first
The ClassRate logo set the palette - every component decision flows from logo purple #7B4FE8, near-black ink, and a single gold accent reserved for ratings.
Color palette
Gold is reserved exclusively for star ratings - users learn to scan for it as a quality signal.
Components
07 · Core Screens
Moments that matter
High-fidelity mockups for the core flows - course detail, syllabus diff, and study matcher.
▶ Live prototype walkthrough
Course Detail
Verified ratings + workload at a glance
Syllabus Diff
What changed since last semester
Study Matcher
Verified peers, 7-day intro window
08 · Signature Features
Three features that go further
Beyond the core - three designs that showcase systems thinking, AI UX, and equity-aware product decisions.
Schedule DNA
A 5-question learning style quiz generates a personal profile - morning/evening, solo/collaborative, goal-driven. Every course gets a compatibility score against your DNA.
AI PersonalizationSyllabus Version Diff
Every semester a new syllabus is diffed against the previous version - grade weight changes, new group projects, dropped finals, color-coded by type of change.
Trust InfrastructureStudy Group Matcher
Match with 2–3 verified NYU students per course. A 7-day expiring intro thread handles the cold start, then steps back. No social feed, no ongoing DMs.
Community Without the RiskSchedule DNA
Personalized compatibility, explained
09 · Usability Testing
Iteration with receipts
Two rounds of moderated testing (n=5 each) plus an unmoderated Maze round (n=12). Every change below shipped because a test told us to.
Upload buried in profile
Moved 'Upload syllabus' to the home CTA with a one-line value prop and a thank-you toast.
DNA quiz felt like a quiz
Cut 10 questions to 5, swapped radio buttons for tap-tiles, showed a live preview of the resulting DNA.
Verification was invisible
Added a persistent 'Verified by NYU email' badge under every reviewer, plus an explainer modal on first view.
7 core tasks per session, recorded via Lookback. Mixed-method: time-on-task + SEQ (Single Ease Question) + post-test SUS. Recruited via NYU student listservs, $20 Amazon incentive, IRB-style consent script.
10 · Edge Cases & States
The screens nobody screenshots
Loading, empty, error, permission-denied, and offline. Most case studies skip these - they're where real product work lives.
No reviews yet
Friendly nudge with a 1-tap 'Be the first reviewer' CTA. Shows expected workload from syllabus instead of a void.
Course not found
Search suggestions from the catalog + 'Request this course' fallback so we capture demand.
Verification pending
Read-only mode for first 30 min after signup. Banner explains why, with progress and an estimated time.
Upload failed
Preserves the file locally, surfaces the exact reason (size/format/network), one-tap retry. Never silent.
Non-NYU email
Polite block with explanation, waitlist signup, and link to FAQs. No dead-end.
No connection
Cached last-viewed course persists. Submit queue holds reviews until reconnect, with a clear pending pill.
11 · Responsive
One system, three viewports
Designed mobile-first, then scaled. Same tokens, same components, different density.
Single column. Bottom-tab nav. Thumb-reach CTA.
Split-pane. Course list + detail in 38/62 ratio.
Sidebar nav + 12-col grid. Keyboard shortcuts surface.
12 · Accessibility
WCAG AA, not as an afterthought
Audited every screen against WCAG 2.1 AA. The verification badge and rating gold were the two riskiest tokens - both passed after one round of adjustment.
Color contrast
All text ≥ 4.5:1. Gold rating tested on white (5.8:1) and ink (8.2:1).
Keyboard nav
Full app traversable without a touchscreen. Visible focus ring uses purple at 3px.
Screen reader
VoiceOver pass on iOS. Star ratings announce as '4 out of 5 stars' not '★★★★☆'.
Motion
Respects prefers-reduced-motion - animations swap to opacity fades, no parallax.
Tap targets
All interactive elements ≥ 44×44 pt. Spacing between adjacent targets ≥ 8 pt.
Form labels
Every input has a visible label + aria-describedby for help text and errors.
13 · Metrics
How we know it's working
Measurable success criteria defined before building - evaluated across two rounds of usability testing.
System Usability - Excellent range. Target ≥ 80.
Net Promoter - Target ≥ 40.
Time to find course info vs RMP baseline (42s vs 131s).
Contribution rate - syllabus upload or review written.
Task completion rates
12 participants · 7 core tasks · unmoderated via Maze
+17.3 point improvement. Three design changes between rounds: syllabus upload moved to home CTA (discovery 62% → 100%), "Verified by NYU email" label added (trust 3.2 → 4.6 / 5), DNA quiz reduced from 10 to 5 questions (completion 51% → 89%).
14 · Handoff
Designed to ship
The artifacts engineering actually used - tokens, specs, and tickets.
--cr-purple: #7B4FE8; --cr-deep: #3D1FA8; --cr-ink: #1A1A1A; --cr-gold: #F2A900; --radius-md: 8px; --shadow-1: 0 10px 30px -10px rgba(123,79,232,.25);
Exported via Figma Variables → Style Dictionary → JSON/CSS. Engineering consumed the same source of truth.
Star fill on submit:
duration 320ms · ease cubic-bezier(0.2, 0.8, 0.2, 1) · scale 0.9 → 1.05 → 1 · gold fill staggered 40ms per star.
Page transitions: 220ms opacity + 8px Y slide. Respects reduced-motion.
AC: Badge renders on every review row. Tooltip explains NYU SSO verification. Token: --cr-purple. A11y label: "Verified NYU student."
Done when: Storybook story + unit test + Lighthouse a11y ≥ 95.
"The spec was so tight we didn't open Figma during the build - we worked from tokens and the ticket. Saved us a full sprint."
- Lead iOS engineer, ClassRate
15 · Roadmap
Where ClassRate goes next
Validated features ready for the next development cycle - prioritized by student need and engineering feasibility.
Phase 1 - Now
- Android parity & cross-platform design system sync
- Syllabus OCR ingestion - auto-structured data from PDF upload
- Course alert subscriptions - notify when a new syllabus or review is added
Phase 2 - Next semester
- Grade distribution visualization - anonymized, department-level histograms
- Professor trend lines - rating trajectory over multiple semesters
- Export schedule to Google/Apple Calendar with course blocks
Phase 3 - Scale
- Multi-campus expansion - pilot at 3 additional universities
- Verified alumni reviews - weighted ratings from graduates
- API for student government & academic advisors (read-only)
16 · Reflection
What I learned
This project taught me that good UX is really about designing for trust - and that trust is earned at every interaction, not stated once.
Trust is a design system
Verification badges, the NYU email gate, the post-submit confirmation - these are the mechanism by which users learn to trust the platform.
Personalization needs to be explainable
A '92% match' with no reasoning felt like a black box. One plain-language sentence below every score made comprehension jump.
Diffs are a design primitive
'What changed' is often more valuable than 'what is.' The diff pattern translates beautifully from dev tools to consumer contexts.
Social without the social graph
The 7-day expiring thread is the product's most important constraint. Restraint - knowing what not to build - is harder than adding features.