Skip to content
DavisHigginsPublic

About

Machine-learning forecasts of hourly taxi demand for all 262 NYC taxi zones, 1, 6, and 24 hours ahead.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Flowcast: see where the city moves next. Animated cover with the Flowcast wordmark beside a city grid of taxi zones pulsing with demand and a forecast panel stepping through 1, 6, and 24-hour horizons.

Flowcast

A machine-learning platform that forecasts hourly taxi demand for every New York City taxi zone, 1, 6, and 24 hours ahead.

Open Flowcast  Case study  Davis Higgins

Live · Forecasts built from NYC's published trip records · Designed and built by Davis Higgins


See it in motion

Screen recording of the Flowcast forecast map: switching the horizon from 1 to 6 to 24 hours, stepping the forecast origin back two hours, and opening a zone's predicted pickups, interval, and actual result.

Real capture of flowcastweb.vercel.app/forecast. Static frame

What it does

  • A citywide forecast map. Choose a forecast hour and a 1, 6, or 24-hour horizon. All 262 taxi zones are colored by expected pickups, and each zone opens to its prediction range, the same hour last week, and what's driving the forecast.
  • Backtests you can check. Historical mode replays past hours and puts predicted, actual, and baseline demand side by side, so a forecast is never shown without something to compare it to.
  • Performance in the open. A dashboard breaks accuracy down by horizon, borough, time of day, and zone.

Why I built it

New York publishes every yellow-taxi trip, but as monthly files of raw records. Turning that into a forward view of how many pickups each zone should expect takes a real modeling system, not a spreadsheet.

A forecast is only useful if it can be checked, so Flowcast is built around honest comparison: every prediction sits next to a baseline and the actual outcome, and every number on the site traces back to the model version that produced it.

What I built

Flowcast is mine from end to end: data engineering, modeling, cloud deployment, and the web product.

  • The data pipeline that turns raw trip records and weather into model-ready features
  • A forecasting model that covers every zone and horizon, and beats a same-hour-last-week baseline by about 25% on held-out months
  • Automated training, evaluation, and an approval step before any model reaches production
  • Cloud inference behind a protected API
  • The web product: forecast map, backtest mode, performance dashboard, and supporting pages
How it's put together
flowchart TB
    D[Public trip records<br/>and weather] --> P[Data and training pipeline]
    P --> G{Approval check}
    G -- pass --> M[Approved model]
    M --> A[Forecast API]
    M --> F[Published forecasts]
    A --> W[Flowcast web app]
    F --> W
Loading
Decision Why
No peeking at the future Training and evaluation are strictly chronological, so every reported result is earned on hours the model never saw.
A model has to earn its release New models are compared against a simple baseline and checked for sane output before they're approved. A failing run stops instead of quietly shipping.
The site works even if the API sleeps The web app ships forecasts from the approved model version and only swaps in live results from that same version, so the product never goes dark.

Screens

Flowcast forecast map of all NYC taxi zones with a zone tooltip showing 159 predicted pickups, an 80% interval, and the actual count, beside the forecast settings panel. Flowcast homepage on a phone: 'Forecast where NYC demand moves next.'
Flowcast dashboard charts: citywide actual vs predicted vs one-week baseline, error by forecast horizon, and performance by borough.

Forecast map with zone detail · Evaluation against the baseline · Homepage on mobile

Technology

Layer Technology
Data and modeling Python, pandas
Cloud AWS
Web Next.js, TypeScript, Tailwind CSS, MapLibre GL, GSAP
Hosting Vercel

Open Flowcast  More of my work

© 2026 Davis Higgins. All rights reserved. Trip data: NYC Taxi & Limousine Commission. Weather: NOAA. Map tiles © CARTO, © OpenStreetMap contributors.

About

Machine-learning forecasts of hourly taxi demand for all 262 NYC taxi zones, 1, 6, and 24 hours ahead.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors