Kinstone Donation Reader

Created

2023

Tech

Swift

swiftiPadOSswiftuicoredata

Kinstone Donation Reader is a privately released application for use at Kinstone LLC events. It's primary purpose is to aid show hosts during the live broadcast with an up-to-date ledger of events, donations, and allows for controlling certain aspects of the stream. It's developed natively for iPadOS using Swift(UI), follows HIG (Human Interface Guidelines), and leverages CoreData for storage.

beginnings

The application was created with one primary objective: to relieve the dated vue dashboard site, and the all-in-one PC that ran it, of it's duties with a new iPad app while keeping familiarity. No longer would the person responsible for reading donations have to be chained to an off-camera computer station (or attempt to use the prior unoptimized dashboard on mobile). It had to be designed for ease of use for anyone, with varying levels of technical expertise, and to be built rock-solid to run for 7 days straight without any developer interference.

development

Going into it, knowing that the new device would be an iPad, I believed the best way to go about leveraging the change was to skip mobile-optimizing the old website and build something native from scratch. Having dabbled a bit in Swift and SwiftUI at my internship, and wanting to justify the purchase of a $1500 MacBook Pro, that was enough to turn me toward the deep end of the Apple Development ecosystem.

The app needed to hook into the existing backend, communicating primarily over socket.io to relay live information to keep both itself and the legacy dashboard up to date. By using CoreData, the view thread was dynamic and responsive to any incoming changes, with minimal work on my end. Sessions were authenticated and data was handled securely.

response

During it's debut, aside from one startup issue at the start of the event (which was handled swiftly), the app went off without a hitch! There was even some feedback that I was able to incorperate during the 6-day broadcast. I learned a lot from this project, primarily that I LOVE working with Swift and the beautiful SwiftUI, and gained a lot of confidence in my work being used in a production environment.