Daniel Saidi
banner
danielsaidi.bsky.social
Daniel Saidi
@danielsaidi.bsky.social
Building apps & SDKs for the  stack, using Swift & SwiftUI.
Welcome to Derry and Stranger Things S5 look utterly digital and lifeless.
November 28, 2025 at 9:21 PM
I use Swift Package Scripts to automate my many open-source projects. It has a bunch of package-related scripts, and has now been extended with brand new GitHub Actions workflows.

#swift #spm #github

danielsaidi.com/blog/2025/11...
Improving Swift Package Scripts with GitHub Actions workflows
I have improved my open-source project Swift Package Scripts which contains Swift Package-related scripts, by adding a couple of convenie...
danielsaidi.com
November 26, 2025 at 9:39 PM
This is a pretty great deal, if I can say so myself :)
KeyboardKit's Black Friday 2025 deal gives you 50% off your first KeyboardKit Pro subscription payment. This deal is valid for all tiers, which means that you can save up to $2500 if you sign up for a yearly KeyboardKit Pro Gold subscription!

#blackfriday #software

keyboardkit.com/blog/2025/11...
Black Friday 2025
KeyboardKit’s Black Friday 2025 Deal gives you 50% off on your first KeyboardKit Pro purchase! This means that you can save 50% of an ent...
keyboardkit.com
November 25, 2025 at 8:00 PM
Putting the finishing touches to my talk on SDK Design at buildstuff.events next week. See you there?
Build Stuff 2025 Tickets – Secure Your Spot at the Software Conference
Get your Build Stuff 2025 tickets now! Join top software engineers, architects, and tech visionaries in Vilnius, Lithuania (Dec 3-5, 2025) for hands-on workshops, cutting-edge talks, and game-changing...
buildstuff.events
November 24, 2025 at 11:18 PM
These huge apps drive me crazy. Most often you’ll find that it’s just duplicated and uncompressed assets that bring up the app binary size without any thoughts or benefits.
November 22, 2025 at 5:27 PM
I've created a tiny Swift package that makes it a easier to add persisted properties to an @Observable class. It's a very quick thing, so feel free to have a look and shoot it down if you know a cleaner way to fill the void that the lack of @AppStorage support causes.

github.com/danielsaidi/...
GitHub - danielsaidi/ObservablePersistency: This package extends @Observable with persistency.
This package extends @Observable with persistency. - danielsaidi/ObservablePersistency
github.com
November 20, 2025 at 10:40 PM
Is there a convenient way to handle app storage-backed properties with @Observable? With ObservableObject you can apply @AppStorage to the property, but this doesn't work with @Observable's macro-based properties.

#SwiftUI
November 20, 2025 at 9:05 PM
BadgeIcon 2.1.4 for #SwiftUI is out! 🚀 This library makes is easy to create icons like the ones we have in the Settings app. The library defines a huge set of predefined icons and makes it easy to create your own.

github.com/danielsaidi/...
November 20, 2025 at 8:41 PM
OnboardingKit 9.0 for #SwiftUI is out! This library makes it easy to create great onboarding experience, and has various onboarding types, flow views like page views and slideshows, and view templates like the new intro screen.

github.com/danielsaidi/...
November 20, 2025 at 8:06 PM
So Xcode can't even validate a local Swift package when GitHub is down??
November 18, 2025 at 9:03 PM
A few years ago, my Gmail spam folder was filled with nasty, pervo crap. Today, at 46, I've started receiving spam emails with subjects like "A bit too calm, but honest" and texts like "A place where you can converse without any stress. A place for conversations that actually mean something." 🤨
November 18, 2025 at 8:00 PM
I'm getting frequent questions regarding what the "A" in the KeyboardKit icon stands for. For me, it was just a way to render a plain iOS keyboard key, but this is lost with the more stylized design. I really don't like adding KK to the key, but am at a loss how to improve the current icon.
November 18, 2025 at 2:48 PM
Reposted by Daniel Saidi
🚀 𝑩𝒖𝒊𝒍𝒅𝒊𝒏𝒈 𝑪𝒍𝒐𝒔𝒆𝒅-𝑺𝒐𝒖𝒓𝒄𝒆 𝑩𝒊𝒏𝒂𝒓𝒊𝒆𝒔 𝒘𝒊𝒕𝒉 𝑮𝒊𝒕𝑯𝒖𝒃 𝑨𝒄𝒕𝒊𝒐𝒏𝒔 by Daniel Saidi (@danielsaidi.bsky.social)

Automate closed-source Swift package builds from commit to distribution. GitHub Actions orchestrates the entire pipeline - compilation, testing, and release without manual overhead.

#Swift #Automation
Building Closed-Source Binaries with GitHub Actions
Using GitHub Actions is a great way to automate your build pipeline. In this post, we’ll take a look at how to use GitHub Actions to buil...
danielsaidi.com
November 18, 2025 at 2:03 PM
I've been having fun with simplifying the KeyboardKit app icon for Liquid Glass and the next major app version. I don't want to change too much, while still embracing the new design, and I think this is a step in the right direction.
keyboardkit.com/app
#buildinpublic #swiftui
November 17, 2025 at 8:01 PM
After some trial and error getting GitHub Actions to work, I can now confirm that the workflow in this post, in combination with adding dependencies to a binary Swift package, works great! KeyboardKit no longer has a copy of LicenseKit, but adds it as a dependency.
danielsaidi.com/blog/2025/11...
Building Closed-Source Binaries with GitHub Actions
Using GitHub Actions is a great way to automate your build process. In this post, we’ll take a look at how GitHub Actions can build binar...
danielsaidi.com
November 17, 2025 at 2:02 PM
Ok, let's give this another go. In this stream, I'll ensure that the XCFramework generating GitHub Action workflow works as expected, then update the open-source project and its docs to cover the changes. It will around an hour, after which I'll move on to Liquid Glass stuff.

twitch.tv/danielsaidi
Twitch
Twitch is the world
twitch.tv
November 17, 2025 at 11:56 AM
The fact that Sinners - a trope-ridden, unstructured cliche of a movie that barely reaches the 2/5 mark - got 10/10 in many places during its cinema run, tells me all I need to know about the broken state of sponsored reviews.
November 17, 2025 at 11:26 AM
I meant to do a live stream, so I started OBS and started coding and doing a bunch of cool stuff with GitHub Actions, local scripts, etc. Two hours later, as I was about to stop the stream for lunch, I noticed that I never started the stream. Better luck next time? 🫣
November 17, 2025 at 10:39 AM
SwiftPackageScripts 1.2 is out, with new version bump capabilities (create major, minor, patch and custom version bumps) and a new version bump GitHub Actions workflow. The binary artifact workflow is also adjusted to upload a container zip, to avoid data loss.
github.com/danielsaidi/...
GitHub - danielsaidi/SwiftPackageScripts: A collection of Swift Package-related terminal scripts.
A collection of Swift Package-related terminal scripts. - danielsaidi/SwiftPackageScripts
github.com
November 17, 2025 at 9:42 AM
I'll a live stream in a few minutes, where I'll look at improving some Swift package build scripts and GitHub Action workflows.

#swift #spm #github

twitch.tv/danielsaidi
DanielSaidi - Twitch
I'm a freelance developer in Stockholm who builds Swift & SwiftUI open-source, SDKs and apps for the  tech stack. I do occasional live streams, but mostly just announce them a little in advance.
twitch.tv
November 17, 2025 at 8:46 AM
Reposted by Daniel Saidi
November 14, 2025 at 5:38 PM
I have tried to generate an XCFramework from a Swift package without using an Xcode project in so many ways...but it just doesn't work. It's so strange, given that the project generation command was removed from the CLI. Has anyone made it work?
November 12, 2025 at 8:46 PM
Reposted by Daniel Saidi
🛠 𝑃𝑜𝑤𝑒𝑟-𝑈𝑝 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝐹𝑜𝑟𝑚 𝑉𝑎𝑙𝑖𝑑𝑎𝑡𝑖𝑜𝑛 𝑤𝑖𝑡ℎ 𝐾𝑒𝑦 𝑃𝑎𝑡ℎ𝑠 by Daniel Saidi (@danielsaidi.bsky.social)

Form validation boilerplate getting unwieldy? Use keypaths to reduce repetition and boost readability in your SwiftUI forms.

#SwiftUI #Forms

danielsaidi.com/blog/2025/10...
Power-Up SwiftUI Form Validation with Key Paths
I struggled to start using keypaths in Swift, but I’m really glad that they’re now a go-to tool to reduce repetition and increase readabi...
danielsaidi.com
November 12, 2025 at 8:07 AM
SwiftPackageScripts 1.1 is out, with a new GitHub Actions workflow template for building closed-source XCFrameworks and dSYMs. This release also adds new parameters to other scripts.

#swift #spm #sdks

github.com/danielsaidi/...
GitHub - danielsaidi/SwiftPackageScripts: A collection of Swift Package-related shell scripts.
A collection of Swift Package-related shell scripts. - danielsaidi/SwiftPackageScripts
github.com
November 11, 2025 at 6:57 PM
When beauty becomes infinite and artificial, it might finally lose its power - not because we realized the inside matters, but because perfection got boring.​​​​​​​​​​​​​​​​
November 11, 2025 at 7:07 AM