FAQ

THE WHOLE DAMN THING, EXPLAINED

ASK ANYTHING ★ GET A STRAIGHT ANSWER ★ NO CORPORATE SPEAK ★

if your question isn't here, open an issue on github with the tag "FAQ" and it gets answered and added. simple as that.

☆ ANSWERED BY THE CODE

what does "local-first" actually mean here?

the app is yours, content is yours, data is yours. you own it all. the client stores everything locally on your device, and the server is just a tool - a proxy for youtube and a cache for your data. not a middleman.

can i use it with no internet / if the server dies?

yes - as long as you've used the app for a while and have songs cached, offline mode lets you browse and play all your cached content with zero connection. the app is built to keep working when the server isn't.

there's no download button. how do i have songs offline?

the client caches automatically while you listen - in the background, while you do your business. and if you go offline, the smart-queue skips straight to the next cached song, so the music never stops.

why does skipping feel instant?

batch cache. while the current song plays, the app pre-caches the next (and previous) 8 tracks in the background. by the time you hit skip, the next track is usually already sitting there ready.

isn't this just a modified youtube player?

no. it uses youtube as a source, but the code is written from scratch - its own design, its own features, its own way of thinking about things, way beyond simple playback.

could i point the app at youtube myself and skip the backend?

no - by design. the client never talks to youtube directly, it only ever speaks to the server. one url, one switch, the whole app follows. so "running your own starl" really means running your own backend.

what audio quality do i get?

whatever the server thinks is best: usually 128kbps AAC from a youtube video, 256kbps AAC from a youtube music track. both play flawlessly.

what happens to my stuff if i log out or reinstall?

cached data on the device? poof, gone. but your account data, settings and history live on the server, so logging back in syncs it all back - and the server probably still has your songs cached, so streaming is instant again.

Why new fetched content is not playable (even if url is valid)?

It all comes up to the server.

  • Make sure the cookies are updated (server NEEDS to act like a browser, cookies are crucial for that)
  • Make sure the cache is not corrupted in the server files.
  • Make sure the cache is not corrupted in the client side (use the "Reset Track Cache" feature in the track context menu to fix that)
  • Make sure the server is not overloaded, if it is, it will fail to fetch new content and return a 502 Bad Gateway error. (close server and wait about a minute for it to reset, then try again)
  • Make sure the server is not running out of disk space, if it is, it will fail to fetch new content and return a 502 Bad Gateway error. (free up some space and try again)

With all those checks, if the problem persists, please report it in the Issues page with the tag "FAQ" - mentioning this part, and i will try to fix it as soon as possible.

> Public server note: those issues, when not reported can take a few hours/days to be fixed - so if you are using the public server, please be patient.
Why does the app sometimes take a few seconds to start playing a track, even if it's already cached?

Sometimes the app needs to prewarm the track before it can start playing it. This is because the app needs to resolve the track's URL and get the necessary metadata before it can start playing it.

or!!

The server is being silly and is taking a few seconds to respond to the request. This can happen if the server is overloaded or if there is a network issue.

Why is the lyrics incorrect or in another language?

  1. The lyrics are fetched from a third-party service, and sometimes that service can return incorrect or outdated lyrics. If the lyrics are incorrect, it could be due to a temporary issue with the lyrics service.
  2. The server is fetching the lyrics in a wrong or incorrect format.. for example artists or complex music names can cause the lyrics service to return incorrect response.

Public server note: if you are using the public server, the lyrics files are re-cached every 42 hours.
why isn't it on the play store?

app stores are a legal inferno. here, if you have a problem you report it and watch the whole fix happen in the open. how can it be more accessible, transparent and trustworthy than this?

ios?

not planned anytime soon - no apple hardware, no wish to fight the apple ecosystem. android is the target, a browser/desktop client is the someday-stretch.

is it legal, with youtube's TOS and all?

gray area, honestly. it's a tool - it's up to you to use it and host it, nobody's incentivizing anything. not intended for commercial use, use at your own risk.

☆ ANSWERED BY THE CREATOR

why build your own app instead of using the big ones?

"i'd rather own a broken tool that belongs to me and my friends, than a perfect tool that belongs to a corporation, asks me for money for basic features and uses my stuff against me."

plus, we can add funny stuff and invent features that never existed before.

vanilla js, no framework, by hand. why?

frameworks trade control for tools you might not need - bloat, not necessarily in size but in complexity. i like control, and i like simplicity. learn the tool, not a framework that might die or change under you.

where does the name "starl" come from?

I JUST LOOOVE STARZZZ heheheh :3 - everything about them sparks something inside me.

what made "instant skip" worth all that complexity?

empathy.

any telemetry, tracking or analytics?

no. but yes for listening stats - needed for the recommendation system, and you can erase all your data and disable it anytime. your choice, always.

who pays for hosting if it's free forever?

the public server runs on the creator's own bare hardware - no cloud, no bills to pass on. control, and this time also privacy: no cloud service sitting between your data and the one person responsible for it.

are you planning to monetize anything?

no. ever. voluntarily not. everm4iva denies. really serious about this. aka: NEVER

what does "finished" look like for starl?

stable, self-hosted, the most open, well documented and easy to use music app possible - so one day the users can keep using it, understand it and change it without anyone's permission. including the creator's.

ASK YOUR OWN QUESTION FAQ TAG