npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

crowd-depth

v1.2.6

Published

Collect depth soundings from your vessel and share them with crowd-sourced bathymetry programs like NOAA's, helping chart shallow waters worldwide.

Readme

Crowd Depth

Help improve nautical charts by sharing depth data from your vessel.

Most of the world's coastal waters have never been surveyed, or were last surveyed decades ago. Every time you cruise, your depth sounder measures water depths that could fill those gaps. Crowd Depth collects those soundings — depth, position, and time — and contributes them to crowdsourced bathymetry programs, where they help identify uncharted hazards, update charts with recent depth changes, and make navigation safer for everyone.

How it works

  1. Collect — The plugin runs quietly in your Signal K server, recording depth soundings with GPS coordinates and timestamps as you navigate. If you already log data with a History API plugin (like signalk-to-influxdb2), it reads from that instead of storing anything extra.
  2. Correct — Soundings are adjusted for your configured transducer and antenna offsets, so the reported depth and position reflect the water, not your installation.
  3. Contribute — Once a day, the plugin uploads your soundings to Open Waters, an IHO trusted node — an organization authorized to submit crowdsourced bathymetry to the IHO Data Centre for Digital Bathymetry, hosted by NOAA, on behalf of mariners. From there your soundings become part of the public record, available to hydrographic offices, chart makers, and navigation apps under a CC0 public domain dedication.

You stay in control: sharing can be anonymous (a random UUID instead of your vessel name and MMSI), and you can disable the plugin at any time.

Installation

  • Install the crowd-depth plugin from the Signal K server AppStore.
  • Enable the plugin and open its settings.

Configuration

Accurate offsets are what turn raw sounder readings into chart-quality data — take a few minutes to measure them. Where your vessel already reports sensors.* and design.* paths, the plugin pre-fills the defaults.

Depth

  • Path — Which depth path to report (belowSurface, belowTransducer, or belowKeel), depending on what your instruments provide. Defaults to the first one with data.

Depth Sounder

  • Depth source — The sensor to record when more than one reports depth, so soundings stay pinned to a single transducer.
  • Offsets (required) — Transducer distance from the bow, from the centerline (positive to starboard), and below the waterline, in meters.
  • Details (optional) — Draft, make, model, frequency, and transducer type. Included in report metadata to help downstream processors assess data quality.

GPS Receiver

  • Position source — The receiver to record when more than one reports position, so all soundings share one antenna location.
  • Offsets (required) — Antenna distance from the bow, from the centerline (positive to starboard), and above the waterline, in meters.
  • Details (optional) — Make and model.

Data Sharing

  • Share data anonymously — Withhold your vessel name and MMSI and report under a randomly generated UUID instead.

By enabling the plugin, you agree to share your position and depth data with the IHO data collection service under CC0.

For developers

  • Data is reported daily at midnight local time; set a cron-style schedule in the BATHY_DEFAULT_SCHEDULE environment variable to change it.
  • Reports go to BATHY_URL (production: https://depth.openwaters.io, otherwise http://localhost:3001).
  • A helper CLI xyz-to-geojson (installed with the package) converts XYZ files to GeoJSON.

See CONTRIBUTING.md for repo layout, the local Signal K npm link workflow, testing, and releases.