Native Swift 3.1 App

CT300 Undock

I was the sole developer for this native rewrite of an existing Cordova application. The app communicates via a custom BLE framework to a frame that encases an iPad. Once the app gets a valid PIN from the user, it will "undock" the device from its stand. User undocking data is persisted, along with many in app defined settings. Some technologies the app utilizes are CoreData, Core Bluetooth, and implements QR scanning via AVFoundation. The application uses a custom iOS BLE API, which I enhanced and packaged for distribution as a framework.

This is the home screen of the application. From here, the visitor may choose to either Sign In or Sign Out. Also, an admin user may select the Group button in the bottom right. This option allows the admin to start printing access badges for a pre-registered group.

This view allows the visitor to enter his/her information, that will be displayed on their printed badge. Text field validations and accepted character checks that occur here.

This view allows the visitor to select their escort from the collection view. Our back-end service for the user photo had not been established at the time of deployment, so the placeholder image is being shown.

This view is displaying the countdown (from 6) the visitor sees prior to the app capturing their photo.

This view allows the user to verify the content for their badge is correct. Once they verify, their data is posted to the appropriate endpoint. The mentioned post call returns the actual QR code as a base64 string, which is saved along with the user's data to the data model.

This view is displaying a last minute requested feature. The image icon in the top-right corner animates a collection view, of background images, up from the bottom of the screen. These images are populated from a get call, and change the background throughout the app when selected.

This view is showing a cleaner representation of an empty data set. I added the DZNEmptyDataSet library to the application, to achieve this user friendly messaging.

Here I am with the finished product in front of the lab. Notice the nice stand for this stand-alone app.

Here is a demo video that I recorded of the app's functionality.

Native Swift 2.3 App


I was the sole developer for this native Swift app, which was written for a compliance need to track every visitor to a lab. The app performs the following tasks as an AirWatch deployed stand-alone app: saves required visitor login data, takes their photo, interfaces with Objective C BLE framework to print an access badge, and allows visitor to manually sign out by selecting name from a table view or via QR scan on the badge. The app also accommodates groups to visit the lab, with a pre-registration process that is completed on a separate admin website. This process is handled via web service calls, and allows the admin to escort a large group to the lab with ease (all the visitors data from the group being recorded prior to  their visit).

This is the landing page of, please visit to learn more about the Charlotte Spartans.


Charlotte Spartans - MSU Alumni Website

I volunteer time to contribute to the Michigan State University Alumni Group of Charlotte, NC. During my tenure on the board for this club, I've completely redesigned the website and maintain its content. I very much enjoy applying my development skills to help organize and promote our local chapter of MSU alumnus here in Charlotte.