Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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


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:

Run locally if your global build does not work: `node_modules/.bin/webpack`

and then rerun:

node ./routes/app.js

To stop the app from running, execute:


Download for Chrome

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


Remember to enter your client_id and client_secret in the consts.json file. Also rename any references of consts-sec.json to consts.json`.


  • Locally store favorited tracks in new favorites tab
  • Improve UI
  • Connect to SoundCloud account
You can’t perform that action at this time.