Uptime Watcher is Now on the Mac App Store!

On:

Our brand new Mac App, Uptime Watcher, has officially launched on the Mac App Store!

Uptime Watcher Checks



Mac App Store Download Badge



I developed Uptime Watcher to monitor our websites and those of our clients, and I couldn't wait to share it.

Uptime Watcher is designed to keep an eye on the availability and performance of websites and services. It offers real-time monitoring, visual logging, and automated email notifications for any downtime or performance issues.

Details: https://campsoftware.com/products/uptime-watcher.php

My Journey to Building Uptime Watcher

Just 20 days ago, I had never even heard of Go or Wails. In that short time, I've transformed from a novice into a published app developer! I navigated through learning how these technologies work, writing code, building the app, and handling Mac App Store signing, notarizing, stapling, and even generating an App Store package.

It’s been a while since I created a desktop or mobile app; I transitioned from Xojo to PHP/MySQL development in 2018. While PHP allows for browser-based solutions without needing an app, I've been eager to revisit some utility apps that I'd shelved. Although I considered returning to Xojo, friends with experience in the platform helped steer me towards exploring Go.

Discovering Go and Wails

Inspired by AI suggestions, I decided to give Go a try. My first attempt was a "Hello World" console app that ran effortlessly in the Terminal. Go’s lack of a GUI IDE like Xojo meant I had to rely on a text editor for coding. Thankfully, I used JetBrains PhpStorm, which, while primarily for PHP, accommodates text-based coding quite well. PhpStorm offers panes for file lists, an editor, a terminal, and powerful AI features—all within a single interface. The AI even has a handy "Apply" button for quick edits!

A pivotal moment came when a friend introduced me to Go + Wails—a Go front-end similar to how Electron works for Node.js. I was thrilled to install Wails, which allowed me to create a minimal web browser app that communicated with a PHP server. This experience may lead to my next Mac Store app! :)

Realizing the potential of Go + Wails, I upgraded to JetBrains IntelliJ Ultimate, which supports multiple languages, including PHP and Go. This upgrade enhanced my workflow with better code formatting, hints, typeahead capabilities, and file structure overviews.

The Creation of Uptime Watcher

Uptime Watcher emerged as my second Go + Wails app. Given that I host websites, web apps, and FileMaker servers, I need to know immediately if something goes wrong. The app checks for specific text in responses every minute. If the text isn’t found, it sends a “DOWN” email. If the response is too slow, a “SLOW” email is dispatched. Once the issues are resolved, I’ll send a “RECOVERED” email.

I designed it to avoid flooding users with emails during issues. For example, a change from UP to DOWN triggers one email, and a transition from DOWN back to UP sends another. Emails about SLOW responses are generated only after several consecutive checks to reduce notifications for brief hiccups.

Looking Ahead

I still have a few improvements planned for the next version—my list is growing!

If you need a desktop or web app, I’d love to collaborate!