This was part of my first real foray into Rust and hobby programming in general, it was devloped in tandem with a discord bot. I started working on this around the time Artifact, Valve's Collectable Card Game, initially released in December of 2018.
To give context, I was about a year and a half into my computer science BSc and I had not really had too much experience developing anything outside of class. I had just started playing aound with Rust for Advent of Code and thought it would be fun to try and parse the base64 encoded strings that Artifact used to encode user's decks.
It went off without much of a hitch as there was a reference implemetation in php provided by valve.
I quickly learned how heavy certain dependencies could become after shoving everying necessary for handling the ADC parsing process. Originally I had a single crate that would fetch the necessary files from Valve to decode the ADC's properly and all the logic to actually parse the ADC's. In my early optimism I decided "ah yes, my favorite niche language needs a proper lean implemetation for encoding and decoding these base64 strings for my favorite niche CCG, I will make it separate", and so I did just that.
As fate would have it, I can't truly recall which came first, the desire to decode ADC's for the sake of it, or as an additional feature for the discord bot. My hand canon tells me this was first, and when I split the project into two it seems I also just create two new repo's instead of spinning one off from the original repo. So I will say, it is likey I started to work on this first.
Funnily encough, by January of 2019, Valve decided to put development of Artifact on hiatus for a while due to poor reception, and the API's for getting Artifact 2.0 are not published officially, so I likey won't revisit this project until that comes around.