brightdigit.com
517.325.3123
2012-
Official Web Site - https://brightdigit.com
App Store - https://itunes.apple.com/bz/developer/brightdigit/id951071114
YouTube Channel - https://www.youtube.com/channel/UCnl3jF6GHAvlj1MZyb6Ka9g
Podcast - https://www.empowerapps.show
Principal and CEO
Since 2012, BrightDigit is focused on developing applications in the Apple space such as the iPhone, iPad, Apple Watch, and the Mac.
- Marketing to potential clients through publications, videos, and podcasts on Apple-centric topics which focus on developers as well as businesses running Apple hardware
- Presenting at conferences and meetups on intermediate and challenging technical topics concerning Swift
- Managing other people in the areas of software development, marketing, and media production
Meijer iOS / Swift
Update and Collaborate on Team Best Practices
- Guide the team on updating codebase from Objective-C and UIKit to Swift and SwiftUI
- Teach and Train the Team on Best Practices
- Collaborate outside of IT to get clear understand of business and models
gBeat CTO
Build entire platform for iOS and Web
- Lead Development of Server, Web, iOS, and Android Development for 10 person team
- Help Guide Development Approach for outside Clients
- Maintain and Update Code Base while setting up Continuous Integration Services
Asset Health iOS / Swift
Official Web Site - http://assethealth.info
Track and Integrate with Employers Health Data
- help bring Adobe XD designs to life using Interface Build as well as coded user interfaces in Swift
- work with project managers and lead developers on timelines and the best way to actualize requirements
- communicate with the client team on regular basis on the unique differences of the iOS platform
conferences.io macOS / Swift
Real-Time Audience Engagement Application for Presentations
Official Web Site - https://www.conferences.io
- Building and Maintaining a macOS port for conferences.io in Swift
- Communicating on a regular basis with the client's product manager on the capabilities and limitations of macOS, Keynote, Powerpoint, and the AppleScript API
- Automate the process of building and deploying the app to Amazon S3
- Build and design a user interface using Storyboards and AppKit
Jackson National Life iOS / Objective-C
Sales Team Application for Showcasing and Presenting Product Material
App Store - https://itunes.apple.com/us/app/jackson/id920821928?mt=8
- Architect and team lead for Jackson National Life’s iPad application
- Design an Objective-C API for easy for easy implementation by the client on the Xamarian platform
- Implement user interface designs from the client using Xcode and Interface Builder
Cheeney Media Concepts iOS / Swift
CE/CME Genius - Medical Continuing Education Tracking
Official Web Site - https://cmc2.tv
App Store - https://itunes.apple.com/us/developer/cmc-interactive/id1027986564
- work with the client team on porting Android applications to iOS in Swift
- design consistent API and database structure for both Android and iOS
- use CoreData and EventKit API to design a local storage database and the ability to create reminders for users
EmpowerApps.Show - Official BrightDigit Podcast
Official Web Site - https://www.empowerapps.show
Apple Podcasts - https://itunes.apple.com/us/podcast/empower-apps/id1437435392?mt=2
Official Producer
2017-
- Arrange and Choose Topics of Interest to the Business and Developer Community centered around Apple products
- Produce and Edit Pre-Show and Post-Show Notes
- Edit and Produce Deliverable Audio and Video for Audience Consumption
- Work with Audio Editor and Outside Marketing Personnel
- Schedule and Communicate with Guests on Show Content and Protocol
- Marketing and Manage Social Media of Episodes and Content
Senior Software Developer
February 2007 - July 2012
- Develop mobile applications for the iPad
- Use .Net and JavaScript to create easy-to-use development tools for businesses
Software Developer
February 2006 - February 2007
Project Developer
October 2003 – February 2006
Telephone Repair Assistant
July 2001 – October 2003
M.A., Digital Media and Art Technology
December 2005
B.S., Computer Science
May 2003
macOS | SwiftUI | Virtualization
Create Unbreakable macOS Apps
Bushel is the macOS virtual machine app for developers who want to be rigorous and uncompromising in their app testing. Bushel is focused on giving you the complete, native capabilities of the operating system for all your testing requirements.
watchOS | web | Vapor | HealthKit | Heroku | PostgreSQL
Livestream Your Health Stats Straight From Your Apple Watch
Heartwitch is a combination Apple Watch and Web App for sharing your health data online.
Video game live streaming has become a mainstream form of entertainment, with viewers liking to see how streamers behave and react to gameplay. With Heartwitch, viewers can see how the streamer reacts on a physical level.
See the streamer’s heart rate shift when hiding from a monster, driving a racecar around a tight bend, or as their favorite character dies in their arms.
Unlike other apps that capture user health data, there is no need for extra hardware. It uses the built-in sensors of the Apple Watch to detect your heart rate and send it through our servers directly to your web browser.
macOS | linux
Import your WordPress site into Publish.
ContributeWordPress provides an easy to use API for importing a WordPress site into Publish.
ContributeWordPress uses the exported XML (also referred to as WXR file) to import content into your existing Publish site.
macOS | iOS | watchOS | tvOS | web
FelinePine provides an easy-to-use API for setting up logging and log categories across your architecture.
web | CloudKit
Swift Package for Service-Side & Command-Line Access to the Apple CloudKit framework
Use MistKit for
- Easily migrate data to and from CloudKit
- Building Command-Line Applications
- Running apps on non-Apple operating systems
- Server-side integration (via Vapor)
- Access serverless computing (via AWS Lambda)
- And more!
macOS | linux
A Publish plugin that makes it easy to run npm commands for any Publish website.
NPMPublishPlugin allows you to integrate an NPM package into your Publish site. If you require javascript or css to be built for your site, this is the ideal plugin for you.
macOS | linux | iOS | watchOS | tvOS
Simplify the management of your Package.swift file with PackageDSL. I was having a difficult time managing a large Package.swift file. PackageDSL allows you to setup individual targets, products, and dependencies using this DSL and create an easily organized, simplified, and easy to maintain Package for your Swift project.
macOS
SimulatorServices provides an easy to use API for managing, querying, and accessing simulators on your Mac.
SimulatorServices allows you to execute subcommands to simctl directly in Swift while offering an easy to use API for parsing and passing arguments.
SimulatorServices uses the SimCtl object to pass subcommands. Each subcommand objects takes custom arguments or property and can parse the standard output into an easy to use Swift object. There are currently two supported subcommands: GetAppContainers and List.
macOS | iOS | watchOS | tvOS
StealthyStash provides an pluggable easy abstract layer for accessing Keychain data as well as an API for encoding and decoding complex data in the Keychain.
StealthyStash supports the adding, updating, and querying for both generic and internet passwords.
macOS | iOS | watchOS | tvOS | linux
Share your local development server easily with your Apple devices.
When you are developing a full stack Swift application, you want to easily test and debug your application on both the device (iPhone, Apple Watch, iPad, etc...) as well as your development server. If you are using simulator then setting your host server to localhost will work but often we need to test on an actual device. You can either be an IT expert your local network's DNS or you can use Sublimation to easily connect your local server to your device.
iOS | watchOS
Reactive communications library across Apple platforms.
For easier use in reactive user interfaces, especially with SwiftUI and Combine, I've created a library which abstracts and maps common connectivity APIs. Particularly in my app Heartwitch, I mapped the functionality of WatchConnectivity and Network over to track the user's ability to connect to the Internet as well as the ability for their iPhone to connect to their Apple Watch via WatchConnectivity
macOS | iOS | watchOS | tvOS | linux
Built on top of XMLCoder, SyndiKit can be used to import and read site data whether from a WordPress site, RSS feeds, YouTube channel or podcast.
Features include:
- Import of RSS 2.0, Atom, and JSONFeed formats
- Extensions for iTunes-compatabile podcasts, YouTube channels, as well as WordPress export data
- User-friendly errors
- Abstractions for format-agnostic parsing
macOS | iOS | watchOS | tvOS | linux
Swift Package for using Base32Crockford Encoding for Data and Identifiers.
ThirtyTo provides a way to encode data and create identifiers which is both efficient and human-readable. While Base64 is more efficient it is not very human-readable with both both upper case and lower case letters as well as punctuation.
Base32Crockford offers the most reasonable compromise when it comes to encoding data. Being a super set of Base16, it uses all ten digits and 22 of the 26 Latin upper case characters.
macOS | linux
A Publish plugin that makes it easy to embed Transistor podcasts in your posts on any Publish website.
Using blockquotes in your markdown, you can easily embed the Transistor podcast player in your website.
Swift | Bash Scripting | JavaScript | TypeScript | Objective-C | HTML5 | CSS3
Xcode | Interface Builder | iTunes Connect | Gitlab CI | Github Actions | Fastlane | Final Cut Pro
SwiftUI | Combine | SwiftData | Cocoa Touch | Cocoa | UIKit | AppKit | Core Location | Vapor | Core Data | Networking | HealthKit and Fitness | CloudKit | Codable | Storyboards | Auto Layouts and Adaptive Design | WatchKit | User Notifications | Homebrew | Jazzy | XPC
Google Analytics | VueJs | NodeJs | Amazon Web Services
PostgreSQL | MySQL | MsSQL | Oracle
- references available on request