CaptainCore Update #12 – Fathom Integration 📈

Last month started off like most. I had whole list of ideas of what to work on but somehow managed to go down a rabbit hole for something that wasn’t on my list at all. That lead to the creation of a new stats tab.

Stats tab within CaptainCore powered by Fathom Analytics

Deep integration with Fathom Analytics

This all started when discovered I could communicate directly with Fathom’s internal API. With the raw output from Fathom I was able to create something that looks very similar to Fathom’s dashboard within CaptainCore. The stats tab is some fairly crude code built with Vue.JS and Frappes Charts.

More infrastructure upgrades

CaptainCore requires a lot of disk space. Well, I suppose that depends on the number of sites you’ve connected. I currently have over 1000 sites connected which is using a bit over 2TBs of data. Each site contains a single backup copy and a .git repo to keep history of themes and plugins which powers the quicksaves and rollback capabilities.

In order to keep costs down I previously used Backupsy for storage and Digital Ocean to handle the rest of CaptainCore CLI. Backupsy only goes up to 2TB per VPS. Well last month I ran out of space and decided to consolidate and move everything to Google Cloud. Google Cloud disks can grow up to 64TB: https://cloud.google.com/compute/docs/disks/. That alone is a good enough reason to move things over. Not to mention the opportunity to dig in deeper with Google Cloud.

Revamped WordPress backend

Future looking I’d really like if the CaptainCore CLI was smart and the CaptainCore GUI dumb. What I mean is it would be amazing if the GUI was simply a connection to the CLI which could be disconnected, reconnected or even destroyed and not actually affect the data stored on the CLI (not unless you want to remove it).

It’s doesn’t currently work that way. Some data is only on the CLI and some on the GUI. However as a small step in the right direction I spent some time imagining how a GUI would look to actually connect to a CaptainCore instance. The following are a few non-functional concepts.

Activation screen when installing CaptainCore GUI
CaptainCore GUI after connected to CaptainCore CLI

Portability is the goal

If the CLI properly mirrors everything the GUI does then, in theory, the GUI could be installed on any WordPress site with all of the data safely synced on the CLI. I’m also highly interested in portability across the board.

For my own customers it would be amazing if all of the data that CaptainCore collects could be put into a common format and made downloadable for purposes of moving to another CaptainCore instance. While I don’t think most site owner care of maintenance info, I do think it’s the right way to handle it. Give them the power to actually own their information by allowing them to take it with them.

Until next month!