Hello world! 👋 Want to work with me?

Hi! I'm Marc Fowler, an experienced SaaS CTO and software/product engineer.

Over the last 15+ years, I've been the sole developer behind the hugely successful ThriveCart, as well as many other platforms.

I'm an expert at getting the maximum result from the leanest resources, to save you time and increase your revenue.

I am currently available to hire. Read my CV, send me an email and let's talk!

MacOS notarisation with Electron

While working on Ghostmail, an Electron-based Maildir frontend I’ve built, I had to get the app ready for distribution on other people’s machines by code signing and notarising it. I’m using Electron Forge to build the app, and I expected everything to work pretty much out of the box. However, I ran into an important, niche issue that should be highlighted. I added the dotenv package to my development dependencies, initialised it at the top, and filled out my .
Read more →

Running nginx and php-fpm with Supervisor on Coolify

Shortly after posting my initial version to run Laravel queues with Supervisor on Coolify, I realised that I should also get supervisor to run and control nginx and php-fpm as well. So here’s an updated version of the Nixpacks script to handle this. The revised PHP provider As before, I’ve added a nixpacks.toml file to my project root, which gets picked up by Nixpacks and lets you extend the default PHP provider.
Read more →

Using Laravel queues with Coolify and supervisord

Update: I’ve posted a newer version which also uses supervisor to start and keep nginx and php-fpm running! Coolify is ‘self-hosting with superpowers’ and is aiming to provide an alternative to Heroku and Vercel. For the last several years, I’ve been using Ansible to deploy my projects, but I’ve been looking to simplify and get functionality like atomic deployments out of the box. Especially for side projects that I can quickly and easily deploy to DigitalOcean and Hetzner, a mechanism to package things up into container and atomically deploy them is really appealing.
Read more →