Blog
Architecture decisions, performance work and the occasional detour. Written while doing the work, not after.
Optimizing Longterm Backups
CaptainCore is now connected to over 1700 WordPress sites. Not bad considering it’s not yet publicly available. Have I ever mentioned building products is hard? 🤣 Every WordPress…
Read the post →Quicksave Performance Improvements
Quicksaves are my go to when troubleshooting WordPress issues. Arguably one of the most useful feature of CaptainCore, if you ask me :). They…
Replacing Bash CLI with Go CLI
CaptainCore is just a collection of bash scripts tied together using a cli called Bash CLI. Bash has it’s limits. I’ve been thinking about…
Hover.com’s Internal API
I started out looking for a domain provider to replace Hover.com and ended up building on top of Hover’s undocumented and unsupported API. Here’s…
Running Backups When Your Out Of Disk Space
I’m sure you never found yourself in a situation where you need to backup something when you don’t have the space to do it…
Fathom Lite with Caddy for HTTPS
I recently migrated my self-hosted Fathom Lite from Digital Ocean to a Google Cloud for better scalability and a bigger VPS. Fathom’s recommended solution…
Enhancements to Fathom Lite Analytics
I’ve been self-hosting a Fathom Analytics instance for basic web stats since early 2018. That’s even before Fathom reached v1.0. The open-source version of…
Official CaptainCore Documentation
Documentation for the CaptainCore project has been sparse and disorganized. To solve this I’m starting a new documentation website: docs.captaincore.io. This will be CaptainCore’s…
Tackling Subscriptions While Leveraging WooCommerce
There are many options for running a recurring-based business. In the WordPress ecosystem, using WooCommerce with WooCommerce Subscriptions is a very popular and versatile…
Tracking Background Commands In Realtime
CaptainCore runs commands like backup, update, quicksave and scan-errors across many WordPress sites on a scheduled basis in the background. Until now there hasn’t…