River Runner

screenshot of River Runner
svelte
scss

Uses USGS/MERIT Basin data to visualize the path of a rain droplet to its endpoint.

Overview

The River Runner project visualizes the path of a rain droplet from any point in the world to its end point, usually an ocean or an inland water feature. It utilizes data from the River Runner API which is sourced from open-source projects and datasets such as USGS's NHDPlus data and NLDI API. The visualization includes animations of the droplet moving along the downstream path of a river or stream flowline.

Features

  • Global Visualization: Tracks rain droplets from any point in the world to their endpoint.
  • Utilizes River Runner API: Data sourced from open-source projects like USGS's NHDPlus data and NLDI API.
  • Interactive Map: Uses Mapbox for animating the downstream path of the rain droplets.
  • Elevation and Bearing Adjustments: Prevents jerky movements ensuring a smooth user experience.
  • NHDPlus Value Added Attributes Dataset: Group flowlines into parent features for quick distance calculations.
  • Beta Version: Global release in beta with plans to improve river name coverage outside the US.
svelte
Svelte

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.

scss
SCSS

SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

rollup
Rollup

RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.