About Me


I am an iOS software engineer and team lead who helps teams design and implement simple solutions to complex requirements by applying core software principles, leveraging GoF design patterns, writing effective unit tests, and utilizing human creativity. I enjoy teaching and mentoring development teams to identify and overcome technical challenges in order to deliver awesome features faster with increased confidence.


I currently work for National Information Solutions Cooperative (NISC). As the native mobile architect, I build frameworks that enable persistent network-enabled FIFO queues for handling offline workflows, managing the download of multi-gig files (e.g. sqlite databases, map tiles), handling SQLite database differential synchronization streams, building type-safe dynamic form view frameworks, ensuring awesome native map experiences with offline and online spatial searching, building a flexible business feature plug-in architecture using dynamic programming, and so much more.

Here's a random list of technologies I understand well and can teach others about: Objective-C, Swift, UIKit, NSOperation/NSOperationQueue, Grand Central Dispatch, XCTest, MapKit, SQLite, Core Data, Core Location, Core Animation, Core Graphics, SwiftUI, Combine, xcodebuild, ObjC runtime, KVO/KVC.

High Rail App

I am the developer behind High Rail, an iOS app for controlling Lionel, Inc. model trains, Lionel LCS SensorTracks, and other Lionel hardware.

High Rail is available on the App Store.

Public Speaking

I thrive on sharing knowledge to help teams design, develop and ship awesome user experiences.

Years ago I started the St. Louis CocoaHeads group as a way to build relationships with other mobile developers in the St. Louis area.

I had the privledge to speak at several CocoaConf conferences on Core Animation, concurrency, and unit testing.

Years ago I created and taught several Java and iOS/ObjC classes for Washington University’s CAIT program (through a previous employer Object Computing, Inc.).

One Book

I co-authored a book on JUnit and testing strategies for O’Reilly.