downloadarr banner

downloadarr

12 devlogs
16h 4m 11s

an on demand music downloader and tagger, which gets its metadata from spotify, then downloads the music from yt-dlp and then tags it, and organizes it for your jellyfin library!

This project uses AI

only used AI to understand and get the tagging to be in sync with jellyfin’s capabilities, and try to get the download function to work, but ai slop bonked it and i had to rewrite it, also used AI for swift code debugging! - also used amp for the base of the web ui and help with the docker app debugging!

Demo Repository

Loading README...

divpreet

Shipped this project!

Hours: 12.25
Cookies: 🍪 245
Multiplier: 20.04 cookies/hr

docker app!

built the web interface and dropped the ios app, because it got really messy really quickly, the web interface though, works much better, and it works just like the terminal tool, although its much easier! packaged it as a docker app so its easier to run on home servers! its pretty easy to change the dir’s and whatnot!

divpreet

docker app!

made it a docker app so its easy to run on home servers! completed the web UI, the downloads is a bit finnicky, as some downloads complete really fast and just update in the library, i do plan on adding a settings page, but currently, its pretty awesome, users can change the music dir and add spotify credentials in the .env or in the docker compose. i did have a problem with audio files not being found by yt-dlp and had to spam copilot, and found out it was a version issue with the requirements! ready to ship!

0
divpreet

web app done! messed around with the UI alot, ended up to scratch the orignal idea and use amp to give it a hacker look, made the downloads tracking work, and got the artwork to show instead of a emoji on the main cards, also, this is one of the few times ive used js + python together, pretty cool though, it was a pain in the ass to get the library to work properly, because i previously used snake cases instead of camel cases which i was using in js! i do plan on making this a docker app!

0
divpreet

got the js functions ready, the core functions were pretty similar to the swift ones, so they were pretty simple to js copy over, still need to complete the UI, want a minimal style, the functions work as expected! TIL how to get a static file on the / of a fastapi!

0
divpreet

pausing work on the ios app cuz its becoming a pain in the ass, started work on a web interface, built the simple html nav, will work on the main func tomm, made a simple ui, wanted to keep it simple!

Attachment
0
divpreet

made a simple donwload manager, which would create a job, then send it to the api, and then track progress, then it would ping the /library endpoint and check if the song is downloaded, and show completed! i couldnt get the download view to update, even when the song was downloading, so used copilot to fix that.

0
divpreet

downloadarr-ios

started working on the ios app a few days ago, but didnt make a lot of progress to devlog it, tday i got the models down. pretty simple as they were just like the python fyunctions, then worked on the API’s, currently the api is hardcoded, but ill start working on the download manager and settings soon! currently the app is connecting with the api, and getting deezer queries and listing them! i also used sent a color pallete to claude, and asked it to generate a theme with button styles and it worked so well! saved a ton oftime!

0
divpreet

set up a server, i plan on making a ios app for it, where the user enters the ip, and i also plan on making this an docker app, so its easy to setup on servers, rn the server is pretty simple, just called functions from the main file and exposed endpoints.

Attachment
0
divpreet

made a demo website, with a video demo and github release page, also used github actions for the first time to make excetuables from pyinstalled for macos, windows and linux, i couldnt get mac intel working, used copliot for the yml.

Attachment
0
divpreet

Shipped this project!

Hours: 3.82
Cookies: 🍪 46
Multiplier: 12.02 cookies/hr

built a on demand music downloader for my home server! gets metadata from deezer and then tags that metadata to a file downloaded from youtube! i learnt what all jellyfin displays in terms of metadata and how to tag all the data to a file. it was hard to get the download function and ytdlp to work, messed with cookies and node but realised that i didnt need any of that!

divpreet

ready to ship! updated readme for installation and shipping and removed the test code from the main file

Attachment
0
divpreet

worked on interface, and got a mvp, i do plan on exposing the functions to a api, then making an ios app! but for now, this works pretty well, and is ready to ship! now the app has a terminal interface, you can set up a spotify app and then export your client secret and id and the app would recognize it, but it does use deezer as a fallback, which works well, you can also just skip the metadata entirely! overwrite functions also work, and orgnanize works too! js need to pull this on the pi now!

0
divpreet

debugged and rewrote the download audio functions after tons of ai slop copy and paste, couldnt get proper downloads to work, seemed to get node and cookie errors, also was not getting audio files for downloading, just got artwork in sdb’s tagging also works, just need to make a organize function, and a frontend!

0
divpreet

basic setup, got the spotify search working, it is a bit finnicky, asking for a premium account, and i might implement deezer, cus it seems to have good coverage also got tagging ready acc to jellyfin’s metadata

0