Skip to content

Instantly share code, notes, and snippets.

@leogdion
Last active February 14, 2024 17:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leogdion/0742d6a5c9ebd836461fb5020b83e775 to your computer and use it in GitHub Desktop.
Save leogdion/0742d6a5c9ebd836461fb5020b83e775 to your computer and use it in GitHub Desktop.

Leo George Dion

leogdion@brightdigit.com

brightdigit.com

517.325.3123


Experience

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

Clients

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

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

Organizations and Products

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

Previous Employers

IDV Solutions

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

State of Michigan

Software Developer

February 2006 - February 2007

CoreComm

Project Developer

October 2003 – February 2006

Telephone Repair Assistant

July 2001 – October 2003

Education

Michigan State University

M.A., Digital Media and Art Technology

December 2005

B.S., Computer Science

May 2003

Products and Open Source Projects

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.

Skills

Languages

Swift | Bash Scripting | JavaScript | TypeScript | Objective-C | HTML5 | CSS3

Tools

Xcode | Interface Builder | iTunes Connect | Gitlab CI | Github Actions | Fastlane | Final Cut Pro

Frameworks and APIs

Apple and Swift Development

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

Other Frameworks and Tools

Google Analytics | VueJs | NodeJs | Amazon Web Services

Databases

PostgreSQL | MySQL | MsSQL | Oracle


  • references available on request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment