CUT TO:

INT. PROJECT ARCHIVE — STORYBOARD ROOM

The USER opens Ambulance Demand Forecasting Platform.

DIVAKAR DESSAI

Let's run through the shots.

CASE FILE / Machine Learning / Forecasting / Full Stack

Ambulance Demand Forecasting PlatformPredicting When and Where Demand Happens

Built a full-stack ML platform for forecasting ambulance demand by location and time. Combined Poisson XGBoost forecasting with probabilistic confidence metrics and an interactive React dashboard for operational planning.

2025–2026

01–02 / OPENING SEQUENCE

Establishing the world

01 / Establishing Shot

The Problem

Ambulance demand varies significantly across both location and time. Historical call records can reveal these patterns, but raw trip data alone does not tell operators how much demand to expect tomorrow, which locations may become busy, or how confident a forecast should be.

02 / Wide Shot

The Context

The platform was developed during a software engineering internship to turn historical ambulance call data into operational forecasts. Rather than producing only a single predicted number, the system was designed to communicate both expected demand and the uncertainty surrounding each prediction.

03 / CHARACTER NOTE

DIVAKAR'S ROLE

Subject

Divakar Dessai

Production

Ambulance Demand Forecasting Platform

Take

03 / Role

Role notes

DIVAKAR DESSAI

I developed the end-to-end forecasting platform, from the machine-learning and feature-engineering pipeline through to the Flask API and React dashboard used to explore the resulting forecasts.

04 / CLOSE-UP

THE ENGINEERING CHALLENGE

The central engineering challenge was forecasting sparse and highly variable ambulance demand at useful geographic and temporal resolutions. The system needed to predict both next-day demand and shorter six-hour windows while presenting uncertainty in a form that could support operational decisions.

05 / TRACKING SHOT

THE APPROACH

A plan emerges.

I developed Poisson XGBoost forecasting models using historical and temporal features including lagged demand, rolling averages, day-of-week patterns and time-of-day seasonality. The prediction pipeline converts model outputs into operational metrics such as expected calls, probabilities of future demand, surge probabilities, prediction intervals and confidence labels. These forecasts are exposed through a Flask API and consumed by a React dashboard.

06 / INSERT SHOTS

KEY FEATURES

The system takes shape.

07 / DIRECTOR'S NOTES

DESIGN DECISIONS

Things we decided along the way

01

Used a Poisson objective to model ambulance calls as count-based demand.

02

Combined lagged observations with rolling statistics to capture recent demand behaviour.

03

Included calendar and time-of-day features to represent recurring temporal patterns.

04

Produced probabilistic metrics alongside point forecasts instead of presenting predictions as certain outcomes.

05

Supported both next-day and six-hour forecasting to provide different levels of operational planning.

06

Separated the Python forecasting pipeline from the React interface through a Flask API.

design decisions

somewhere mid-build

08 / RETAKES

WHAT WENT WRONG

Naturally, not everything cooperates.

09 / FINAL SHOT

THE OUTCOME

ProblemBuildOutcome
01

Built an end-to-end machine-learning forecasting platform spanning data processing, modelling, API development and frontend visualisation.

02

Produced next-day and six-hour ambulance demand forecasts across offices and districts.

03

Extended point predictions with probabilities, surge indicators, prediction intervals and confidence labels.

04

Created an interactive dashboard through which users can upload historical data and inspect forecasts by location and time.

05

Turned historical ambulance call data into a decision-support tool for operational planning.

10 / PRODUCTION NOTES

TECH STACK

The tools behind the scenes.

PythonXGBoostPandasFlaskReactViteTailwind CSS

11 / BEHIND THE SCENES

LINKS

FADE OUT.

USER closes the file.

One project down. A few more stories left.

DIVAKAR DESSAI

Pick another?
← Return to Projects