Skip to content
Index of work

Algorithms · Full-stack · 2024

ROAM.

Las Vegas itinerary planner — 2D dynamic-programming optimizer behind a friendly UI.

Visit live project

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.

  1. 01

    Modeled the day as a 2D DP over (time-window, remaining-budget) with rewards from a curated POI graph.

  2. 02

    Backtracked through the DP table to recover the actual itinerary, not just the optimal value.

  3. 03

    Wrapped the algorithm in a Flask API; React + Recharts for the visualization layer.

  4. 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.