CaptainCore Update #11 – Realtime Websockets 🔌

Last month I went down a rabbit hole exploring websockets. The idea of using websockets to improve CaptainCore CLI output to the GUI was the goal. After a few weekends of coding I did just that. The communication between the GUI interface and the CLI has greatly improved. In fact now you can now see a realtime stream of what’s happening under the hood. To demonstrate watch this short screen recording demo ▶.

Websockets are really powerful! ⚡

You can pump a stream of data from anywhere to anywhere. However flowing a large of amount of data, like that of an entire site migration, through a websocket can easily crash the web browser. In order to overcome this limitation I spent some time going through all of the CaptainCore CLI commands and set them to run in quiet mode. Outputting significantly less info seemed like a good comprise between performance and yet still useful realtime output.

Adding websockets doesn’t change any functionality. The GUI and the CLI still perform the same operations. That said having greater visibility of what’s going on under the hood is already a huge help for me in refining and improving the CLI commands. It also makes troubleshooting bugs much easier and over time hopefully give confidence that what you do in the GUI actually does what it’s suppose to. Lastly it paves the way forward for adding my migrations scripts into the GUI. That will be something I tackle later this year.

Handbook management tools

Back in April I added a timeline section which displays historical data from the process management system (AKA the handbook). At the time I hadn’t created a way to manage the handbook itself from the GUI. Well this is mostly completed now.

List of processes within Handbook

You can now see an example of viewing/adding/editing processes here ▶. That video is part of a recent post I wrote: Learning Vue.js as a WordPress Developer Part 3 – Markdown and WordPress embeds. You can see an example of adding/editing process logs as well here ▶.

Individual process
Editing a process

Thoughts on a beta…

Awhile back I laid out a rough timeline for CaptainCore. Well my initial thoughts were overly optimistic. CaptainCore is still very much an Alpha project. It’s not stable yet and freely changes with each update. For now that has huge benefits as you can see how CaptainCore has been evolving each month.

Staying in alpha means it’s not yet a good idea to use CaptainCore (although it might be technically possible, see Github). It’s partially undocumented and not stable (in the sense that my next update may break everything). At some point this year I plan to call if good enough for a beta release. That said I don’t want to rush it.

If you follow how other people build products then you might think I’m doing it backwards. Well the truth is I never really considered CaptainCore a product but rather something that is absolutely necessary for myself. I have easily justified my time to work on CaptainCore as it makes what I do at Anchor Hosting many factors of efficiency better. It’s in large part how I’ve be able to grow Anchor Hosting.

Welcome IndieHackers readers 🤗

I recently did a text interview with IndieHackers where I tell my journey from working a full-time job to running Anchor Hosting: Bootstrapping My Daydream into a $20K/Month Business. Feedback has been tremendous. A huge welcome 👋 to all the new people following along.

Until next month. Onward!