-
released this
2026-03-27 12:23:15 -04:00 | 4 commits to main since this release- Course info popovers with description, instructors, and specialization
tags; opens on hover (desktop) or tap (mobile) with smart positioning - Page title and graduation cap favicon in NYU Stern purple
- Desktop layout fits viewport without page-level scrolling
Downloads
- Course info popovers with description, instructors, and specialization
-
released this
2026-03-13 16:11:56 -04:00 | 6 commits to main since this release- Mark "Managing Growing Companies" as cancelled with visual indicator and solver exclusion
- Prevent selecting duplicate courses across elective sets (e.g., same course in Spring and Summer)
- Add 2.5-credit interval tick marks to specialization progress bars
- Bump version to 1.1.0 with date display in UI header
Downloads
-
v1.0.0 Stable
released this
2026-03-01 11:35:55 -05:00 | 8 commits to main since this releaseInitial release of the EMBA Specialization Solver.
Features
- Optimization engine — LP-based credit allocation solver with two modes:
- Maximize Count — finds the largest feasible set of specializations, using ranking as tiebreaker
- Priority Order — greedily adds specializations in user-ranked order
- Course selection UI — select one course per elective set across 12 sets (Spring, Summer, Fall terms)
- Drag-and-drop specialization ranking — reorder the 14 specializations by priority with touch and keyboard support
- Decision tree analysis — Web Worker enumerates remaining course combinations to compute ceiling outcomes per choice
- Status tracking — each specialization classified as achieved, achievable, missing required course, or unreachable
- Mode comparison — displays what the alternative optimization mode would produce
- Credit bars and allocation breakdowns — visual progress toward the 9-credit threshold with expandable per-course detail
- Responsive layout — two-panel grid on desktop/tablet, single-column on mobile with floating status banners
- CSS transitions and animations — smooth UI interactions respecting prefers-reduced-motion
- State persistence — rankings and selections saved to localStorage
- Docker deployment — multi-stage Dockerfile (Node 22 build → Nginx Alpine serve) with Docker Compose, configurable port (default 8080)
- Full test suite — data integrity, feasibility solver, optimizer, and decision tree tests via Vitest
Constraints Modeled
- Credit non-duplication (2.5 credits per course shared across specializations)
- Maximum 3 specializations (30 total credits, 9 required each)
- Required course prerequisites for 4 specializations
- Strategy S1/S2 tier system (at most 1 S2 course contributes to Strategy)
- Mutual exclusion from same-set conflicts
Downloads
- Optimization engine — LP-based credit allocation solver with two modes: