Car Guard Mobile App

Customer-Service Chat
Guards earn extra with referrals
Customer-Service Chat
Guarded cars arranged by rescan timing
Customer-Service Chat
Details of a guarding session

This mobile app allows motorists to give gratuities to the informal car guards that are ubiquitous in South Africa.

Car guards are individuals who provide an informal parking attendant service. They are typically dressed in high-visibility vests and assist motorists in finding parking spaces, keeping an eye on vehicles while the owner is away, and sometimes helping drivers maneuver out of tight spots. Although car guards are not officially regulated or employed by the parking facilities or retail establishments they frequent, their presence is a well-known aspect of urban life in South Africa.

This mobile application leverages modern web technologies and delivers a seamless user experience akin to native store apps. It can be installed directly onto devices and offers offline functionality, employing Progressive Web Applications (PWA) technology for caching capabilities that mitigate the dependence on an internet connection.

Upon completing a registration process within the app, car guards initiate their monitoring service by photographing vehicles enrolled in the program, identifiable through a designated sticker, which serves as verification of their oversight. They are prompted every 15 minutes with a push notification to capture successive images, ensuring continuous supervision. The guards' interface displays these photographs sequentially, arranged based on the required timing for the subsequent snapshot.

Owners of the monitored vehicles receive real-time updates via WhatsApp, allowing them to confirm and reward the service with a tip if desired.

The app is built using sveltekit, the versatile TypeScript framework suitable for constructing full-stack applications. Full stack here alludes to the framework's capability to handle both client-side and server-side code within a unified environment. Tailwindcss, a utility-first stylesheet framework has been implemented as the styling component. The architecture is robust, with data housed in a Supabase managed Postgres database and vehicle license plate images stored in Supabase Cloud Storage. The application leans on specially crafted Stored Procedures within Supabase to manage tasks -- such as updating multiple tables within a transaction, to ensure consistent database operations.

Additionally, Supabase Triggers enhance the application's interactivity by invoking SvelteKit endpoints whenever pertinent table adjustments are identified. The application is crafted to employ the built-in geolocation features of mobile devices, highlighting address lookup against sent GPS coordinates for geospatial contextualization.

For optimal performance, the app's infrastructure is deployed on Cloudflare's workers edge computing environment to ensure proximity-related efficiency vis-à-vis user interaction. A discrete push server is provisioned for handling notification delivery using a customized Docker container, with server capabilities supported via a Node.js runtime. This container is hosted on fly.io's expansive Edge network – notably including a strategic South African presence – to enhance the service availability for the intended demographic.