Rudi Louw.

iOS app + website

GunStatus

An iOS app that tracks South African firearm applications and licence renewals.

My role
Design, development and App Store release
Platform
iPhone and iPad
Status
On the App Store
Built with
Swift, SwiftUI, CloudKit, Push notifications, StoreKit
The GunStatus website, with three iPhones showing the app on its home page
GunStatus home screen with the SAPS firearm status check form
GunStatus search history with in-process and completed applications
GunStatus My Firearms list with expiry countdowns and a renewal alert

While you wait on a firearm application, the question is always the same: has anything changed? GunStatus checks the SAPS online enquiry for you, keeps your licences and expiry dates in one place, and sends a notification when something moves. I designed and built the native iOS app, and the website that introduces it.

The app

Built for one job, and built well

GunStatus is a native iOS app written in Swift and SwiftUI. It is made specifically for South African firearm owners dealing with SAPS applications and licence renewals, so every screen is shaped around that job instead of around a generic tracker.

  1. 01

    Application status tracking

    Enter your reference and serial number and GunStatus checks the official SAPS Firearms Online Enquiry system, then shows the status, working days so far and the last SAPS update.

  2. 02

    Background monitoring and notifications

    Switch monitoring on and the app watches a saved application for you, sending a push notification when its status changes. It is best-effort and depends on SAPS being available, and the app says so.

  3. 03

    My Firearms and renewal reminders

    Licence details live in one place with expiry countdowns, and reminders arrive 7 and 6 months before a licence expires.

  4. 04

    Shooting records

    Log shooting activity and generate a PDF report for applications and record-keeping.

  5. 05

    iCloud sync

    Your data syncs across your Apple devices through iCloud (CloudKit).

  6. 06

    Privacy by design

    Most data, including the shooting log, stays on the device. No names, addresses or contact details are stored on the servers, and there is no advertising.

  • GunStatus home screen with the SAPS firearm status check form
  • GunStatus search history with in-process and completed applications
  • GunStatus application details with make, type, calibre and last SAPS update

The website

A fast, search-friendly home for the app

The GunStatus website is a separate project: a static Next.js site on Vercel that I rebuilt from an older WordPress and Elementor site. It explains the app, shows the screens, answers common questions and gives people a way to get support.

  1. 01

    SEO carried over

    The same page URLs, titles, descriptions and social previews as the WordPress site, plus redirects for old URLs, so existing search rankings were respected during the move.

  2. 02

    Structured data and FAQ

    Schema.org markup for the app, organisation and FAQ, and a support page with a spam-protected contact form that sends through a normal mailbox.

  3. 03

    Store badges and QR codes

    App Store links are campaign-tagged, and one setting controls what the Google Play badge shows while the Android version is in testing.

The GunStatus website showing four app screens: every application and licence in one clean app
The GunStatus website on a phone

Built with

  • Swift
  • SwiftUI
  • CloudKit
  • Push notifications
  • StoreKit
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Vercel

Next case study

The Coastal

Start a project

Got
something
to build?

A site that needs to be better, an app that needs to exist, a platform that has outgrown its tools. Tell me what it is and I’ll tell you honestly how I’d approach it.

hi@rudilouw.com

or email hi@rudilouw.com