Algorithms · Full-stack · 2024
ROAM.
Las Vegas itinerary planner — 2D dynamic-programming optimizer behind a friendly UI.
Role
Algorithm Design · Full-stack Integration
Team
2 engineers — with Nicholas Kaplun · CS 5800
Stack
Python · Flask · React · Recharts · NumPy
Year
2024
01 / The problem
Why this needed building.
A trip itinerary is a constrained optimization in disguise — budget, time, energy, and overlapping operating hours all at once. Off-the-shelf "plan my trip" tools fudge the math. We wanted to do it honestly.
02 / Approach
How I broke it down.
- 01
Modeled the day as a 2D DP over (time-window, remaining-budget) with rewards from a curated POI graph.
- 02
Backtracked through the DP table to recover the actual itinerary, not just the optimal value.
- 03
Wrapped the algorithm in a Flask API; React + Recharts for the visualization layer.
- 04
Tuned reward function against hand-graded test itineraries so the math agrees with how a person would actually want to spend a day.
03 / Outcomes
What it ended up being good at.
Final project for Northeastern's CS 5800 Algorithms; produced a defensible itinerary across budget tiers.
Confirmed for me that the right algorithm + a careful reward function beats heuristic stacks of if-statements every time.
