Engineering Notes

When a macOS desktop app refuses to restart — LaunchServices and the Flask-server pattern

WP Maintenance Manager ships as a desktop app with an unusual structure under the hood: a local Flask server with a browser-rendered UI. Double-clicking the app icon starts the server, opens the user’s default browser at http://127.0.0.1:<port>/, and the management UI lives in that tab. The pattern fits well for tools that need rich admin UIs without the complexity of a full Electron build, and it lets us reuse standard web stack assets. Once the app reached real users on macOS, however, we got a recurring report: “I closed the browser tab, and now the app won’t restart.” The investigation led us not to a code bug, but to a …

Read more
Engineering Notes

Cross-machine credential backup: a security-vs-portability trade-off we navigated

Once you’re maintaining 50+ WordPress sites from a single tool, the volume of credentials you accumulate climbs fast. Per-site admin passwords, SSH credentials and passphrases, the SMTP password used to send notification mail, server profiles ── all of these need to live somewhere reliable, and you need to be able to move them to a new machine without retyping fifty entries by hand. We added that “back up everything to a ZIP, restore on the new machine” capability to WP Maintenance Manager early on. Building it taught us a clear lesson: “a backup that works” and “a backup that travels” are two different design problems. This post is an honest …

Read more
WordPress Maintenance

Improving WordPress Maintenance Quality with SSH + WP-CLI — A Framework for Safer Updates

WordPress maintenance usually means updating the core, plugins, and themes. In most agencies, this is done by logging into the admin dashboard, clicking the “Update” button on each plugin, checking the front page, and moving on to the next site. This works fine for a handful of sites. But once you manage more than a few, the limitations become hard to ignore: The dashboard only offers “Update all” or “Tick each one” — no real middle ground When something breaks after an update, isolating the cause is messy Backups, visual checks, and rollback are all manual steps The quality of maintenance varies by who is on the keyboard, and at …

Read more