Progressive Web App (Beta)

We’ve been working on a progressive web app (PWA) for listening and, which is currently still in early beta. You can have a look at the current version on If you bookmark this page on your smartphone and then open it from the app icon on your home screen, it opens in full screen mode and feels a bit like a native app.

It is based on WordPress and the SuperPWA plugin. We’re currently working on displaying singer and location information from the Icecast meta data in the web app. We’re planning to release everything related to this new web app on Github.

On our website we’re using a JavaScript based audio player, but on we’re using the standard <audio> tag which seems to be working fine in Chrome and Safari on iOS.

If you’re interested in testing the new web app on your device, we’re always interested in feedback, both good and bad.

Web App Screenshots

What is Progressive Web Apps

Progressive Web App (PWA) is a new technology that creates a middle ground between a website and a mobile app. They are not installed via the App Store, but look and feel like a native app and can be accessed from the home screen.

Audio Streaming 1.0.5 (Beta) Released

Today, v1.0.5 (beta) of our Kirtan mobile app for iOS (via Apple TestFlight) and Android (via Google Play) was released which introduces two new intro screens and a new channel selection screen with preview of the singer’s name.

Not sure why we skipped v1.0.4, but I still wanted to mention it for the record. Looks like there will be at least one more release before we drop the beta label and push the app to the official app stores.

If you haven’t installed the app yet and would like to test on iOS (Apple), please send us an email with your Apple ID email address requesting a TestFlight invite. Android users can install or update directly via the Google Play Store.

Audio Streaming 1.0.3 (Beta) Released

Yesterday, we released v1.0.3 (beta) of our Kirtan mobile app for iOS (via Apple TestFlight) and Android (via Google Play) which addresses the recent issues on Github such as the blinking photo gallery and scrolling singer and song info. Please update to the latest version and provide feedback by email or directly via Github.

If you haven’t installed the app yet and would like to test on iOS (Apple), please send us an email with your Apple ID email address requesting a TestFlight invite. Android users can install or update directly via the Google Play Store.

Next thing on the roadmap are two new intro and a new channel selection screen.

We didn’t mention the release of v1.0.1 here on our developer blog and for some reason skipped v1.0.2, that’s why were now at v1.0.3. The new intro screens and the new channel selection which already shows what’s playing will be released as v1.0.4. As soon as this version has been tested, we will prepare for leaving beta and finally submitting the app to the regular Apple app store. Stay tuned!


Audio Streaming 1.0.0 (Beta) Released

Today a new version of our audio streaming app was released for iOS which is still considered beta and is available via Test Flight. Please send a message to if you would like to receive an invite.

A new version for Android was also released which is also still marked beta, but directly available via the Google Play Store. Please report any bugs on Github. so that we can finally leave beta behind us and make it available to a wider audience.

This version has been rebuilt and redesigned from the ground up. It is based on Ionic v3. The beautiful redesign was done by Dhyanacandra Prabhu from Slovenia, the app was developed by David Li.

You can now listen to a wide and always fresh range of traditional Vaishnava Kirtan from as well as contemporary Vaishnava music productions from our new channel The new version now also has 4 different galleries with pictures of Srila Prabhupada, Sri Caitanya Mahaprabhu, Vishnu and Krishna.

As this is an open source project you can of course still use the code for your own Internet radio station and fork it on Github in order to adapt it to your needs. If you’re implementing any general features, we would really appreciate if you create a pull request. If you’re a developer and find bugs, you’re also welcome to send patches as pull requests.

Here are some screenshots to give you a first impression.


Audio Streaming Beta 0.9.0

This version of the 24 Hour Kirtan Radio app was built in radio-only mode without the playlist feature, because we decided to focus on the basic functionality first. It has no new features, but updated assets and config, as well as fixed music controls.

Please contact if you want to test on iOS via Test Flight. If you’re using an Android based device, please install directly via Google Play Store.

We’re currently working on redesigning the app with the help of Dhyanacandra prabhu from Slovenia. Here are some early mockups in which direction we’re heading.

When we started development of the app at the beginning of 2016, the underlying framework to build amazing native and progressive web apps, Ionic, was still at version 1. Ionic v2 was released beginning of 2017 and now at the beginning of 2018 we’re already at Ionic v3.9.2. If we want to upgrade to the latest v3 we basically have to build everything from scratch, which is exactly what we’re planning to do in 2018. A lot of work, but we’re very excited.

We have not yet decided if the redesign should still be done with Ionic v1 or if we go straight to v3 and implement the redesign there. Maybe we’ll do a redesign light with the current version and release it as 1.0.0, so that it can be finally made available on the Apple App Store without the need to install via TestFlight.

In any case, we’re going to keep you posted. Happy New Year!

If you want to help with development or testing, you’re always welcome to get in touch.

Audio Streaming Alpha 0.8.4 for iOS and Android

The new playlist feature has been on GitHub since June 9 and now we finally released alpha 0.8.4 for iOS via Test Flight and Android directly via Google Play Store.

It is now possible to not only listen to the radio stream, but also to browse audio files, listen to them straight away and create custom playlists. This is a very exciting new feature, so please install the new version and play around with it.

Currently, only a small fraction of Kirtans are available for the beta apps, but we’re going to add more over the next days and weeks. Once we’re coming out of beta, the full range of publicly available Kirtans from will be fully available to browse and create custom playlists.

If you’re building your own app based on this project, you can of course add your own range of audio files via the Audio Streaming APIs.

New Alpha Versions of Audio Streaming App and APIs

On June 1, 2016 we released version 1.0.0-alpha6 of our audio streaming APIs.

  • Updated indexer to add dpath key for Google Storage bucket. Allows app to download and play selected mp3 files
  • Added new released key

On June 4, 2016 we also released version 0.8.3-alpha of our audio streaming app which now supports iOS 8. This will enable users who have not yet upgraded to iOS 9 to also use our app.

The 0.8 releases support default streaming mode which which is a similar listening experience as you know from radio streaming apps like TuneIn.

As indicated on our roadmap we’re working towards releasing a new major version of the audio streaming app which also supports custom streaming mode. This will allow listeners to stream their custom playlist based on their favorite tracks, albums or artists.

RESTful APIs for our Audio Streaming App

Since March 15, 2016 we’ve released 5 alpha versions of your RESTful APIs for our audio streaming app which also includes an audio meta data indexer.

The audio-streaming-apis repository maintains all the REST APIs used by the mobile app from the audio-streaming-app repository.

The server is build with Node.js using the Restify framework and backended with MongoDB. Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Restify is a Node.js module to build REST web services. MongoDB is a popular NoSQL database often used with Node.js and has a strong Node.js driver.

The API endpoints provided are completely stand alone. They can be attached to and used to manipulate the database by any client including CURL.

Currently the endpoints service the Ionic audio-streaming-app found on GitHub. The app can be downloaded on the App (currently only through TestFlight) and Play Stores.

Here’s an overview of the release notes.

v1.0.0-alpha.1 (2016-03-15)

Initial alpha release. Endpoints for db collections (ACCOUNTS, PLAYLISTS, MP3S, LOGS).


All endpoints can be executed using CURL see the documentation for instructions.


  • Ratings
  • Facebook integration

v1.0.0-alpha.2 (2016-03-29)


Facebook integration


  • Added dynamic port assignemnt
  • New endpoint GET /mp3s/key/:key
  • Temp patch for invalid artist ID3 tag
  • Jingles indexer and endpoint GET /jingle/random

v1.0.0-alpha.3 (2016-03-30)


  • GET /mp3s/distinctkey/:key
  • GET /mp3s/key/:key?q=
  • All mp3s endpoints work with and without auth, auth required to access restricted MP3s
  • New restricted key for mp3s collection


  • Artist tag in jingles generates error in ID3 parser
  • Some MP3 files have tag ID3 tag issues

v1.0.0-alpha.4 (2016-04-19)


  • POST /mp3s/ids endpoint
  • Added CORS support


  • Artist tag in jingles generates error in ID3 parser, now logged to db.log for intervention
  • Some MP3 files have tag ID3 tag issues
  • Uncaughtexception now logs to db.logs

v1.0.0-alpha.5 (2016-05-14)


  • Added POST /mp3/file/:id endpoint – to directly download MP3 file
  • Added new key for selfLink – this is a virtual link tot he google storage for MP3 playback


  • Artist tag in jingles may generate error in ID3 parser, now logged to db.log for intervention
  • Some MP3 files have tag ID3 tag issues, now logged to db.log for intervention


Audio Streaming Alpha 0.8.2 for iOS

Finally, 3 days ago a working alpha version for iOS was released on the App Store through TestFlight. Version 0.8.2 is now also available through the Android Play Store using an open test release.


  • Lock screen controls
  • Android loading spinner

Please contact for more information if you would like to test the release.

iOS Lock Screen

Icecast 2.4.2 Dockerized

Our Icecast streaming Kirtan server is currently running on Google Compute Engine on a g1-small machine with 1 vCPU and 1.7 GB memory, which is enough to serve 70 simultaneous listeners. On average we have almost 10’000 unique listeners per month. This is of course manually scalable by using bigger machine types, but as the devops community is completely hooked on Docker we also wanted to learn about this new technology.

Docker Hub

This will not only give us more flexibilty with deployment and scalability, but also make onboarding of new developers very light weight, because they can install Icecast and Liquidsoap on their local machines for testing and developing new components, such as our new mobile apps and the RESTful APIs.

The Dockerfile is on GitHub and looks like this.

You could build a new image based on that Dockerfile or you can simply

docker pull kirtan/icecast
docker run -p 8000:8000 kirtan/icecast

Icecast2 Admin

It’s currently not yet possible to pass custom credentials to docker run, but once the Liquidsoap container is ready and both components work together properly, we will work on that, too.

As we’re new to docker we took inspiration from moul’s Icecast Docker file, but as he’s building from the official sources.list, you will end up with Icecast 2.3 instead of the latest 2.4 if you’re using his build.