I am an A developer. You can tell because that's what my README says and you cannot lie on the internet.
The libraries and code snippets I share are a labor of love to help developers build better apps, making it easier for you to unlock your creativity, and make something amazing for yourself and your users. If you find my open source valuable I would really appreciate it if you'd consider helping sponsor my open source work, so I can continue to work on projects like Boutique to help developers like yourself.
Boutique is a simple but powerful persistence library, a small set of property wrappers and types that enable building incredibly simple state-driven apps for SwiftUI, UIKit, and AppKit. With its dual-layered memory disk caching architecture Boutique provides a way to build apps that update in real time with full offline storage in only a few lines of code using an incredibly simple API.
Bodega is an actor-based library that started as a simple cache based on reading and writing files to/from disk with an incredibly simple API. Today Bodega offers a form of infrastructure that any app's data layer can use. Whether you want to store Codable objects with ease, build caches, or interface with your API or services like CloudKit, it all works in just a few lines of code. Best of all, Bodega powers Boutique's automatic offline support.
Recap is a library to display a What's New Screen in your app, completely powered by markdown. There are many customization options built in, you can showcase your entire app's feature history rather than just one release, and semantic versioning tools to help choose when to display your What's New Screen.
Monarch is a minimal library that makes running migrations in your app simple, whether your app is simple or complex. It's never been easier to evolve your app over time, making any changes you need to make. Best of all, Monarch's migrations feel right at home in any Swift app, with a clean SwiftUI API.
UITableView
and UITableViewCell
animations are hard β really hard. But what if they didn't have to be? Instead of calling brittle methods like reloadRows()
or batchUpdates()
and hoping it works, the entire API for TableFlip has one function. Call reloadData()
like you always do to get a guaranteed UITableView
state, then call TableFlip's animate()
with an Animation
, and your animation is guaranteed to succeed.
A micro-library for playing sound effects and providing haptic feedback, bundled into one line of code. Give your users that special touch by integrating sound and feel into your apps, easier than ever.
Flat is out and gradients are in again! Slope makes it incredibly easy to build uniform or percentage based gradients, vertically, horizontally, diagonally, or even radially. You'll be making gradients in no time with the straightforward type-safe API is very straightforward, a real help for UIKit apps where gradients are still hard to make.
Never make another UITableViewCell
or UICollectionViewCell
subclass again. Leveraging the power of generics GenericCells lets you build a UIView, and plug it directly into a cell, no extra classes needed.
A simple drop in package to replace NotificationCenter
's untyped API with a typed version. The API mimics NotificationCenter
's API so much that you'll barely have to make any changes, but will get the benefit of type safety across your apps.
Anchorman is a slick library that makes interacting with autolayout declarative and easy. There are many out there like it, but people seem to really enjoy using Anchorman for it's straightforward and intuitive syntax.