RustedWax: The Android Scrobbler I Built After Using Scrobble.life

Words
1651
Reading
8 min
Listen
Play
3d

RustedWax Android app logo

RustedWax: My First Android App


Most of the time when I only post about a movie, a TV series, or something I have been watching, my main account skiptvads@skiptvads, so I decided to create a dedicate account for this project RustedWax where I will keep posting about the app porgress. I started this app because I like Scrobble.life front end by acidyo@acidyo since I have been waiting for someone to do something similar and something that does not screams crypto, just regular people who loves to watch movies and tv series for the most part, listen and read content for entertainment, if it wasn't for Scrobble.life this app would not exist and I would not enjoy Hive this much, probably the best thing I have got from Hive is this project since I have learn so much from it. All this is new to me because even though Im very familiar with tech I'm not a developer and wont pretend that I'm now, got more plans for the app because it doesn't stop with just Youtube service.

I decided to make RustedWax open source so anyone who want can inspect the code. The complete project is available at https://github.com/rustedcomet/rustedwax

It is called RustedWax, and it is an Android app that scrobbles what you listen to on YouTube and YouTube Music. It also supports YouTube playback through Brave Browser and Chrome, then records qualifying listens on the Hive blockchain as a custom_json.

I generated a the code using my own Codex and Claude accounts, and the project took me about two month to get to this point. There was a lot of learning and testing reason why for the most part stay absent from my Hive account skiptvads@skiptvads. I also did security reviews using both AIs, and at the same time I had to learn and experiment something I had never really worked with before, that was learning how an app works. I did not want to end up with a giant pile of spaghetti code that breaks every time something new gets added.

The idea behind RustedWax came from something pretty simple. I wanted a better way to automatically keep a history of what I was listening to on YouTube from my mobile devices onto Scrobble.life. I own both an Android tablet and cellphone, and at the time Scrobble.life only had the browser extension, so I was basically like, I bet there are other people who would like this too.

You install the app, connect your Hive account using a posting key, give it the Android permissions needed for the features you want, and RustedWax watches supported YouTube playback.

I know permissions like Notification Access and Accessibility can concern some users, which is also why the app has an always visible Stop button. You can stop monitoring at any time, the Event Log is also disabled by default unless you turn it on.

RustedWax is designed to act only on supported YouTube playback rather than logging unrelated media or normal browsing. The optional browser evidence feature is specifically used with Brave and Chrome to help identify YouTube playback.

image.png

image.png

It currently works with YouTube, YouTube Music, Brave and Chrome


The important part for me was that simply having a video open should not automatically count as listening to it. RustedWax measures actual played time and also takes playback speed into consideration. If you listen at 2x, for example, the app follows the real playback instead of just assuming how long the video was sitting open.

Before anything is written to Hive, the app also tries to verify which YouTube video was actually being played. If the information it gets is conflicting, or it cannot identify the video with enough confidence, it can refuse to scrobble it instead of writing something that might be wrong.

Let me tell you, that part ended up being much more complicated than I originally expected.

The main reason is that when I started this I knew absolutely nothing about how Android sees what the YouTube app is doing. I had an idea of how something like this worked in a desktop browser such as Chrome, but Android was a completely different story. Basically, little by little, I had to investigate, experiment, break things, test again and figure out what information Android actually exposes.

YouTube ads, Shorts, picture in picture, moving between videos, playback speed changes, browsers, Android media sessions and all the different ways somebody can use YouTube gave me plenty of problems to solve.

I have spent a lot of time testing those situations on a real Android phone because, for an app like this, Android emulation alone is not enough when real gestures and normal everyday use are involved. I started testing on an old Samsung A12 I had around. Later I bought a used Samsung A36 with more RAM, not necessarily because RustedWax itself is heavy, but because the little A12 is pretty basic and old. Sometimes I would just let YouTube run for hours and later compare what I actually played against what RustedWax recorded. Doing that over and over was getting to be a little much for the A12 that could, eventually bought a much newer A36 for testing too.

Not pretending it is perfect — security was a big part of this


One area where I did not want to just say "good enough" was security.

RustedWax needs a Hive posting key if you want Automatic Scrobbling to publish qualifying listens to Hive. There is also an optional YouTube Watch History feature, that if you enable it, RustedWax opens Google's sign in page and keeps the resulting YouTube session encrypted on the Android device. That help the app match a video you just played in the native YouTube app when the normal Android playback information is not enough. It is not required for every scrobble but makes it way more efficient.

RustedWax does not need your Google password or two factor authentication codes since Google handles that login through its own sign in page, and RustedWax stores the resulting YouTube session encrypted on the device. Hive transactions are also signed locally on the Android device. Your Hive posting key is stored using Android's encrypted storage rather than being sent somewhere else for a server to sign transactions for you.

You should only use a posting key with RustedWax. Never your active key, owner key or Hive master password.

The current release has gone through automated tests, physical Android testing, release validation and a dedicated security review using Opus 5 and GPT 5.6 Sol before I decided to make it public. In the repo there is most of the documentation generated as I was developing the app, I didn't want to keep anything hidden from anyone so others experiment with it because at the end it would only make it stronger.

I know I am not an expert at all when it comes to development and Android security, so if you are a developer and can provide advice on the project, let me tell you that I would genuinely appreciate it.

So what can you actually do with it?


Once everything is configured, Im soon going to do a full tutorial, you can basically use YouTube like you normally do and RustedWax will take care of the scrobbling in the background, you don't even need the app to be open for it to scrobble.

RustedWax handles the tracking in the background.

  • The Now screen shows what RustedWax currently sees playing.
  • The History section shows successful scrobbles written into Hive blockchain making your Scrobbles yours and nobody else. Create Snaps, reply to comments and like (upvote) comments.
  • The Not Logged section shows things RustedWax decided not to scrobble and explains why.
  • There is also an optional Event Log, which has been extremely useful while I have been testing the app.
  • YouTube Shorts and picture in picture playback are supported, although some of those features require additional Android permissions.
  • Automatic Scrobbling can be turned off whenever you do not want RustedWax publishing anything to Hive.
Some experimental and diagnostic options are hidden under Developer Mode. You can enable Developer Mode from Settings → About by tapping the version seven times. On a fresh installation, Automatic Scrobbling is off until you enable it, Shorts scrobbling is disable, and the optional Event Log is off as well.

I would really, really appreciate it if some of you try RustedWax and let me know what you think. If you like it, great. If you do not like it, tell me that too. Send me a Snap.

RustedWax is free, open source, and the complete project is public on GitHub.

Website:
https://rustedwax.com

Repository:
https://github.com/rustedcomet/rustedwax

The current signed release is RustedWax Android v0.12.0:
https://github.com/rustedcomet/RustedWax-Android/releases/tag/v0.12.0

If you just want to use the app, you do not need to build anything. Download the signed APK from the GitHub Releases section:

https://github.com/rustedcomet/rustedwax/releases/latest

For now, RustedWax is Android only with plans to add more services like Spotify and SoundCloud.

What I am most interested in now is seeing what happens when RustedWax gets outside of my own phone and my own way of using YouTube. If anybody here tries it, bug reports and feedback are absolutely welcome, especially if you find a playback situation where the app behaves differently than expected.

I have to say that for somebody who normally spends his time here talking about movies and tv series, building an Android app was definitely a different project.

But RustedWax is finally at the point where I am comfortable putting it out there, currently working on notifications but I want people to start trying it and get some feedback. I do have more plans to build something bigger, a product that uses Hive in the back while people does something they already do most of the time and thats using Youtube.

So here it is, if I missed something or got suggestions feel free on the comments.

RustedWax: The Android Scrobbler I Built After Using Scrobble.life | Ecency