Stork App Overview
Click below to find out more about this project and how it was implemented. This is a demonstration version and does not include the full dataset.
Technology Stack
- Frontend: JavaScript, EJS, HTML5, CSS Bootstrap 5, Leaflet.js, Select2, DataTables
- Backend: Node.js (Express & NPM), Python (clustering scripts), PostgreSQL
- Data & Processing: Jupyter Notebook, Pandas, Scikit-learn, CSV/JSON/PostgreSQL data handling
- Version Control & Tools: GitHub, VS Code
The Stork Movement Explorer (SME) is a full-stack web application developed as part of my MSc dissertation to analyse and visualise GPS tracking data of migratory storks. It allows users to retrieve, filter, and cluster movement data, and explore migration patterns over time through an interactive map interface.
SME combines a Python data-processing backend with a JavaScript-based interactive frontend, connected through a Node.js/Express server.
- Backend: Python handles data transformation, clustering, and metric evaluation.
- Frontend: Built using HTML, CSS, JavaScript, Bootstrap, and Leaflet.js for interactive maps.
- Database: PostgreSQL stores cleaned and preprocessed GPS data.
The architecture was designed for modularity and efficient performance, supporting flexible clustering parameters and smooth visualisation of datasets ranging from 15k–45k points.
The backend uses Python scripts for data preprocessing, clustering, and evaluation.
- Preprocessing cleans raw CSV datasets, calculates metrics such as distance and heading, and loads them into PostgreSQL.
- Users can select HDBSCAN, DBSCAN, or K-Means for clustering, with results returned in GeoJSON format.
- Each clustering run logs its input size, parameters, runtime, and resulting cluster count, enabling reproducibility and comparison.
The frontend provides a responsive, interactive interface built with Leaflet.js and Bootstrap.
- Interactive map visualises stork trajectories and clustering results.
- Filters allow selection by individual, year, month, time slot, and distance.
- A time-slider animation feature replays movement patterns across weeks or months, with colour-coded legends for easy interpretation.
- Optimised for desktop, tablet, and mobile with accessibility considerations throughout.
SME was tested across large datasets (15k–45k points) to ensure reliable and smooth performance.
- Filtering, clustering, and animation processes were benchmarked and optimised for speed.
- Bootstrap’s grid layout supports full responsiveness across devices.
- Accessibility considerations guided layout and interaction design, though advanced colour testing was limited by scope.
Overall, the project demonstrates a strong integration of data science, full-stack engineering, and interactive UX design.
Try out the interactive app below to explore its key features and functionality. Please note, this is a demonstration version and does not include the full dataset.
Stork Movement Explorer
Interactive tool to cluster and map Stork movement data.
Checking the database for the available years and Stork individuals, please wait...
Filter GPS Points On Map
Play the Migration Animation
Observe an individual Storks direction of travel and migration over time, using the selections and buttons above.
| Individual | Cluster | Year | Total Points | Avg Latitude | Avg Longitude | Map Link |
|---|