Hey everyone, going to try and keep up these changelogs a little bit more, to give a little insight into what is being worked on / what was shipped in the last few days!
Internal Tools
One of the things I spend the least time talking about is our internal tools, that the UAs have access to in order to respond to tickets and manage your accounts. Most of these tools are incredibly old, and written by hand, so if we change any aspect of the site, the admin tool is usually the last thing to get updated. That means UAs have to come up with a lot of workarounds, and that takes more time to help you.

So one of the focuses the last year has been to move to an admin panel that is generated from our "models". A model is just a file that points to a specific place in the database (like User and Pet), and lets the UAs manage the data almost like they're in the database itself (with guard rails!)

Now, when a change is made to the database or a model, the admin panel is immediately updated. We can also add in filters, and actions, that can be run on multiple models. A lot of the more recent fixes have been to give UAs better tooling around item management, instead of continuing to put fixes on our aging admin panel. More to show here soon!
Database Work
One of the most expensive pieces of technology we rely on is our database. MySQL is great, and has gotten us to this point! Unfortunately, it's not really tuned for the type of traffic Subeta gets, which is low for about 6-8 hours of the day, and INTENSE at our peaks when users are playing and doing lots of things on the site. Doing something like a boss battle is database intense, because we want to be getting information from the source of truth (database) as often as possible.
That means that we have to pay for the database to be "sized" for what we expect our peaks to be, and waste a lot of resources and money when the site is sleepy.
I've been spending the last week working on getting our database into shape to try planetscale, which has you pay for usage in a different way, AND has a feature called "rewind", that allows you to bring up a database backup from any point in time. Imagine we screwed up and you lost an item in a bug, we can bring up the database from moments before that happened and restore your account items. It's very cool!
And, like everything else, takes a lot of time and effort to get into the right place. You can see my interaction with the head of support here, but most places don't anticipate the SIZE of a database (900+ tables!!) when I say that I'm going to get Subeta up and running there 😜

Other Work
💖 ✨ 🤗