Overview
Vaultbot V2 is a personal Spotify playlist manager that catalogs my music listening over time. Tracks I add directly to a managed playlist are detected and recorded in a database. After two weeks, they’re automatically removed to keep the playlist fresh.
The project has evolved significantly over time. The original Vaultbot was a collaborative Discord bot backed by a full web app on GCP. I rewrote it in Go as a leaner Discord bot hosted on DigitalOcean, which was still user-facing, with slash commands, user preferences, and a blacklist - but with no web app portion, instead everything behind handled behind the interface of the Discord bot.
Eventually I stripped that down too: the Discord integration, user-facing features, and all the cloud infrastructure are gone. The project is now just a handful of GitHub Actions workflows and a Neon PostgreSQL database. There’s no server to maintain and no running costs beyond the database. The reasoning for this that it is now in the absolute minimum state in terms of functionality: I add tracks to the Spotify playlist and certain things happen via CRON jobs behind the scenes.
Technologies
The app is written in Go and uses sqlx for database access. Playlist state is stored in a Neon serverless PostgreSQL database. All scheduling and execution is handled by GitHub Actions cron triggers, which also serve as the only deployment mechanism.