github.com/M-E-E-R-e-V/mwpa ↗
Processing and analysing data gathered by mammal watching.
Open this visualization on its own page →
Contributors
3
Lines of Code
4,450
From
2022-01-02
To
2022-06-28
About M-E-E-R-e-V/mwpa
MWPA is an open-source platform for collecting, reviewing, and analyzing cetacean observation data gathered during whale- and dolphin-watching tours. Built around the research workflow of M.E.E.R. e.V., a marine conservation organization operating off La Gomera in the Canary Islands, the system captures sightings data that would otherwise be scattered across paper logbooks or disconnected databases. The platform serves three distinct user groups: observers on boat tours record sightings via a mobile app, office reviewers verify and complete records through a web interface, and researchers export curated datasets for analysis or regulatory reporting.
The architecture is a TypeScript monorepo with three main packages. The backend runs on Node.js and Express using the figtree framework, with MariaDB storage and TypeORM for data access. The frontend is a single-page application built with AdminLTE, jQuery, Bootstrap, and the in-house bambooo widget library, featuring map views with OpenLayers, crossfilter dashboards with d3 and dc.js, and exporters for Excel and AROC office reports. The mobile app, built separately in Flutter, records sightings offline and syncs once connectivity returns.
Beyond basic sighting records, the platform includes sophisticated analytical capabilities: it derives movement tracks with computed distance, speed, heading, and turning angles; enriches sightings with environmental data from Open-Meteo, NASA POWER, and ERDDAP (bathymetry, sea surface temperature, chlorophyll); correlates observations with seismic events from USGS and EMSC within configurable time and distance windows; and computes effort-only tours from GPS tracks. The system is actively maintained and in production use, with comprehensive documentation covering data collection, scientific use, field-by-field references, and reproducibility guidance in English, German, and Spanish.