A visual and auditory deconstruction of the energy harmonics that create the tides. Search anywhere on Earth to listen and see a place's unique tidal harmonics. Built with Node.js, HTML5, MongoDB
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Tidal Harmonies

The tidal harmonies application breaks down the predicted tide curve of a given location into its constituent parts. Tide charts for a place are created by adding up individual sine waves, each representing a force that is exerted on the seas, for instance the Moon and the Sun are two tidal constituents. By building a database that stores information about hundreds of locations constituents and creating a geolocation search tied to a natural language API, the app takes any simple place name, returns the appropriate array of constituents, and animates each one. A simple sound engine was built to feed each sine wave through an oscillator so we can 'hear' the tides at that place. Sliders allow you to increase the amplitude and frequency and get some really wild results. Experience the beauty of the universe expressed through JavaScript! Built with Node.js, Express, MongoDB, and HTML5.

Live version link

More info about the harmonics of tides at Theory of Tides

Constituent data came from 2 NOAA sources, station (tide measuring location) information from here via XML and the harmonic data from here via a huge stream of CSV data. These sources were parsed and reorganized as GeoJSON and pushed into a MongoDB instance. The helper functions I built to parse and organize the data I've left in the /controllers/utils.js code.



Clean View

landing page

So Fresh and So Clean

landing page

Adjust Frequency, Amplitude, and Speed in Real Time


Get Weird


Weirder Still


A Simple Visual Diagram of Tidal Harmonies