Streamflow Prediction with LSTM and Transformers

This project explores sequence models for streamflow prediction in CAMELS-style catchments, with a focus on comparing LSTM and Transformer-based approaches under a reproducible training and evaluation workflow.

The work goes beyond model fitting alone. It includes dataset preprocessing, configuration-driven experiments, sweep analysis, evaluation utilities, and a live dashboard for browsing results. That makes it a good example of how I combine hydrology, machine learning, and engineering into one deliverable.

Live dashboard: Streamlit App


Modeling Focus

The repository compares sequence-model architectures for rainfall-runoff and streamflow prediction, especially LSTMs and Transformers. The goal is not only to measure benchmark performance, but also to understand how architecture, sequence length, batch size, loss design, and training strategy affect predictive behavior across basins.

Because the project is organized around reusable configs and evaluation outputs, it also reflects the way I think about scientific ML: as a reproducible system for experimentation rather than a one-off notebook result.


Workflow and Data Pipeline

The codebase is structured into data access, preprocessing, model definition, training, evaluation, visualization, and CLI orchestration. It includes reusable configuration files, sweep logic, checkpointing, comparison utilities, and report-generation steps for analyzing trained runs.

This project shows the full workflow around machine learning for hydrology: preparing sequence datasets, training multiple models, comparing architectures, summarizing metrics, and surfacing the results through a user-facing application.


Interactive Dashboard

I also deployed a Streamlit dashboard for this project so the results are easier to explore outside the codebase. The dashboard makes the work more accessible to collaborators, instructors, and non-developer users by turning model outputs into a navigable interface.

This matters because it demonstrates not only model development, but also product thinking: building a usable front end for a research workflow rather than stopping at offline metrics.

Live App

Open the deployed dashboard to explore interactive streamflow prediction results and model outputs.

Launch Streamlit Dashboard →

Deployed dashboard for interactive exploration of the Streamflow Prediction project.

Engineering Signals

This project represents several skills that matter beyond the hydrology domain itself: command-line tooling, modular repository design, configuration-based experiments, model sweeps, evaluation pipelines, interactive deployment, and reproducible ML workflows.

It also strengthens the engineering side of the website by showing a project that connects research code, user-facing visualization, and deployable tooling. That makes it a strong example of my work as both a data scientist and an ML engineer.


GitHub Repository: mfarmani95/Streamflow_Prediction

Live Dashboard: streamflowprediction-irm8aele3vtve9ujyfys62.streamlit.app