Sailparadise - a Radioparadise.com client [LLM]

Hello all!

I would like to introduce you to Sailparadise, a Radio Paradise player. It is (yet another) app created with the help of LLMs (Claude code). See notes on LLM usage below.
Disclaimer out of the way: this post is hand-typed, not LLM generated :smiley:


Sailparadise - A Radio Paradise Player

What is Radio Paradise: a lovely free webradio from California. A description from the Radio Paradise website:

Radio Paradise streams highly curated, eclectic mixes of music – chosen by real humans – with unparalleled audio quality.

Our streams are uncontaminated by either algorithms or capitalism. Listening is always free. We are funded by listeners who like what we do, and pay money to help us keep doing it. For over two decades, Radio Paradise has been dedicated to preserving the art of radio DJ-ing and providing a soundtrack you can enjoy all day every day. Thanks for listening! We are consistently rated as one of the best internet radio stations worldwide.

Radio Paradise (www.radioparadise.com) is listener-supported. If you enjoy it, please consider supporting them with a donation.

The reason Sailparadise has been created is due to RP having very peculiar features normally absent from other webradios:

  • several channels with hand-picked music in a flow that makes sense
  • no ads, little but meaningful talking by the DJs
  • several codecs and bitrates, up to high-quality FLAC
  • possibility to cache hours of playback for offline listening
  • a thriving community

It’s just a great radio, human-curated and eclectic. I do recommend giving it a listen whether you use this app or not. They have several clients, streaming links and a webplayer.

At the moment, Sailparadise provides the following features:

  • Channel choice
  • Bitrate choice for Wifi and Mobile
  • Offline caching of the track for later playback

Lacks:

  • lyrics
  • Artist bio
  • Comments

Screenshots

Notes on LLM usage

As mentioned, the app has been coded with the assistance of LLMs (Claude).

The development has been done iteratively, not in a single big-jump:

  • I created branches, tags and did my best to understand what the LLMs were changing
  • I focused on single features, tested them one by one, ironed out the bugs and marched on
  • All the source and history is in the repo

While I am no professional, full-time programmer, I am no total stranger either: I have experience with Python scripting at least.

The documentation, merging, release notes, changelog entries and comments are hand-typed with love by yours truly (at least that I can still do).

The idea is to have a working application first and progressively improve the generated code by hand.
The rationale for me “creating” this: I love RP and there is no official client for Sailfish. This project was a perfect candidate for some LLM experimentation since it is a simple, self contained application not dealing with personal data. Were it to handle sensitive credentials I would have not started the project at all.

Distribution and Installation

The application is released on Github, at the moment. Grab the RPM for your architecture in the “Releases” section of this repository and install. Once the code and the repo are fully ready, it will be released to Harbour and Chum (help welcome since I have never done it).

Note: This has been tested on Sailfish 5.1 on a Jolla Phone 2026. I’m happy to compile other architectures for testing.

Repo: GitHub - spidernik84/harbour-sailparadise: Sailparadise - A Sailfish client for radioparadise.com · GitHub
Releases: Releases · spidernik84/harbour-sailparadise · GitHub

Contributing

The app is relatively simple and in a pretty stable and steady state as is, from what I managed to test. Nevertheless, bugs are certainly there!

Please feel free to report bugs, suggest features and contribute to code or translations via PRs. I am planning on translating this in Swedish and Italian.
The Icon has also been generated to have at least something, and indeed should be a bit more personal. Feel free to propose alternative designs :smiley:

Thank you!

8 Likes