KyPortfolio

Big Projects

  1. MLB for watchOS

    MLB's official Watch app

  2. Realtor.com for iOS

    Real Estate & Rentals app

  3. Yes Health

    Individual, goal-oriented health coaching app

  4. Smartcrypt

    Personal file encryption as a service

  5. Motif

    Custom photo books, calendars, & cards right in Apple Photos

  6. Ionic Files

    User-facing desktop file protection software for macOS

  7. PVP 3

    Elegant & powerful video streaming software for statium-tier events

  8. ProPresenter

    Live video presentation & compositing software

  9. NCR Silver

    Point-of-sale software supporting mobile payments, sales reporting, loyalty rewards, business management, & more

  10. The CSU websites

    Over 100 specialized websites in one modern, responsive design that maintains compatibility with IE 8 through the latest Chrome. CMS integration allows school employees to maintain their own sub-sites

Big Personal Projects

  1. This Website

    I wrote all the code and designed all the UI on this site from scratch, without templates.

  2. Project HOSTESS

    Work-in-progress project to create an extensible task management system

  3. Rent Split

    Calculates how to split rent fairly based on income

  4. Swift Mines

    A clean and modern Mines game for macOS, written in SwiftUI and published on the Mac App Store

Open-Source Con­tri­bu­tions

  1. Kotlin Collection Literals (Proposal)

    A proposal for how to implement collection literals in the Kotlin language

  2. Kotlin Error Handling (Proposal)

    A proposal for how to natively handle errors in the Kotlin language

  3. Slide Social Buttons

    A set of uniform social share buttons invented by Christopher Yee in 2013 and updated by myself in 2015

My Open-Source packages

My 24 contributions to the Swift Package Index

  1. EfficientAverager

    Uses exactly two floating-point variables to average indefinitely many numbers with a constant amount of memory usage.

  2. Atomic

    Uses `DispatchQueue` to ensure a value is only read from and written to by one thread at a time

  3. BasicMathTools

    Some basic tools for doing math in Swift

  4. CollectionTools

    A bunch of tools I tend to write to make collections easier to use

  5. ColorSwatches

    Turn an NSColor or UIColor into an image

  6. ContextuallyUniqueIdentifier

    An ID which is unique to this runtime / save

  7. CrossKitTypes

    Some types and extensions for those using AppKit and UIKit in the same project

  8. DrawingTools

    Some tools to help with drawing in Swift

  9. Either

    An `Either` type to use in Swift, allowing two different types to represent the same field

  10. FunctionTools

    Some tools to make functions easier to use in Swift

  11. Introspection

    Aides in checking information about the current app, system, & device

  12. LazyContainers

    A few lazy-initialization container types for Swift 5.1

  13. MultiplicativeArithmetic

    Formalizes an object's ability to be multiplied by something

  14. OptionalTools

    Some tools to make Optionals easier to use

  15. RangeTools

    Some tools to help you work with Swift ranges

  16. RectangleTools

    A set of Swift utilities for dealing with rectangles, including a way to generically build your own!

  17. SafeCollectionAccess

    Ever wonder why Swift crashes if you access a collection the wrong way? Me too here's some extensions

  18. SemVer

    A small Swift library that implements SemVer 2.0.0. This is designed to be simple to use and to easily fit into any Swift codebase.

  19. SerializationTools

    Some tools to help y'all serialize stuff

  20. SimpleLogging

    For when you need something more advanced than print, but not a whole heavy system

  21. SpecialString

    Ever need a string but also wish it weren't a String type?

  22. StringIntegerAccess

    I hate how Swift `String`s don't let you access their characters with `Int`s. This package lets you do just that.

  23. TODO

    For when you know you're gonna get to something, but right now you have other priorities.

  24. UuidTools

    Some tools for using UUIDs

My 8 other packages

  1. Swift Safe Pointer

    Lets you pass anything using reference semantics without the danger of unsafe pointers

  2. SwiftUI Seven-Segment Display

    A 7-segment display for SwiftUI

  3. Swift PropertyWrapper Protocol

    Lets you reference property wrappers as protocols

  4. delete-duplicate-files

    A small utility to delete all files in a folder matching the given hashes

  5. Micro JS Enum

    94 bytes to bring enums to JavaScript

  6. Micro JS Tagify

    154 bytes of JavaScript for turning user input like "tag-a,tag-b tag-c" into HTML tags

  7. Micro JS Equals

    A 157-byte, fully-functional JavaScript global .equals() implementation

  8. Micro JS Array Shuffle

    An array shuffler in 140 bytes

The Rest Of My Open-Source Projects

The rest of my projects, including this site and a few apps, are public on my GitHub.