Over the last few months I have been working on and off on a new project called MixCloud Autobot, a tool designed to simplify and automate the process of uploading shows and tracks to MixCloud. With a solid foundation now in place, I wanted to explain the story behind the project and outline the progress being made.
The challenge
The idea for MixCloud Autobot emerged from a real world challenge we faced at Chelmsford Community Radio. Our existing system for automating MixCloud uploads relied on transferring files between our local server and an external server. The connection between these servers were validated using IP addresses, with the external server only accepting files from the IP address of the internal server. While this worked well in theory and has been reliable in the past, it now proves unreliable in practice. Frequent internet dropouts and changes to our IP address meant the system needed constant manual intervention to update the validated IP.
This process was further complicated by the fact that the only person who is able to update the IP address on the remote server lives in a different time zone, and charged for each modification. As a result we often found ourselves resorting to manual uploads to avoid the hassle of maintaining the automated system. The opposite effect of what an automated system like this should have.
However, with about 10 shows a day, manually uploading the shows quickly became a time-consuming and repetitive task. It was clear to me that we needed a new system that gave us full control over the upload process without relying on external hardware, software and individuals.
MixCloud Autobot was born from this challenge.
The vision for MixCloud Autobot
The goal for MixCloud Autobot was to create a tool that could run natively on a local server or machine to allow for users to manage their uploads directly. Instead of using IP validation this tool makes use of MixCloud’s authentication to connect your account to the tool.
What’s next?
With the core functionality now in place, I’m planning to share updates as the project evolves. Future posts will cover new features, improvements, and the reasoning behind key decisions.
If you’re interested in following along or contributing, feel free to reach out via GitHub Discussions or just read along.