🎶 A new way to discover songs and artists on SoundCloud.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Nimbus Test Data
_tests_
public
routes
.babelrc
.gitattributes
.gitignore
consts.json
gulpfile.js
nimbus.png
package.json
readme.md
webpack.config.js

readme.md

Nimbus

A simple web application powered by Express and NodeJS that fetches random songs from the SoundCloud library using the SoundCloud API.

Keyboard Shortcuts

Command Keyboard Combo
Play/Pause Space
Rewind Shift + Arrow-Left
Seek Next Shift + Arrow-Right
Volume Up Shift + Arrow-Up
Volume Down Shift + Arrow-Down

Dependencies

Nimbus uses a few packages to help this run on a machine. Some of the dependencies include:

  • 💨 Express - it is a web application after all.
  • 🔨 Babel - mainly to support older browsers if you need it.
  • 💎 Webpack - bundles modules together to make imports work.
  • ☁️ Cirrus - a CSS framework I developed.

Why Nimbus?

As great of a platform SoundCloud is, it is mainly built for sharing music through more of a social network rather than for streaming. Recently, SoundCloud has shifted towards streaming services by releasing SoundCloud Go as a subscription based service. this is a great move, but the overall website does not provide as in depth of a streaming experience as it should be. Songs should easily be added to the queue and new related tracks should appear in the queue that allows for user editing. Even simple song details and descriptions should be readily accessible when listening to the song, which a few users complained about before. Nimbus is not designed to replace SoundCloud, but serves as an alternative platform for streaming and discovering music that is built just for that after stripping away everything else.

Screenshots & Video

As of 8/3/17 SearchSettings ChartsQueue

Nimbus as of 8/3/17

Nimbus in action

How to Run

First obtain all the dependencies:

npm install

Then set up your API key, which is located in consts.json. After you make sure that all the dependencies are included, run:

node ./routes/app.js

If you have made any changes to the modules, make sure to run:

webpack

and then rerun:

node ./routes/app.js

To stop the app from running, execute:

process.exit(0);

Download for Chrome

You can download the standalone app for Chrome OS devices (Chrome store no longer shows new apps for other platforms) here.

TODO

  • Locally store favorited tracks in new favorites tab
  • Improve UI
  • Connect to SoundCloud account