Profile avatar
danielsaidi.bsky.social
Indie developer building SDKs & apps for the  stack, using Swift & SwiftUI.
315 posts 269 followers 329 following
Prolific Poster
Conversation Starter

I'm hanging out in wonderful Paris today & tomorrow, checking out the city and attending a company event, where I'll give a talk on "Lessons Learned: Building SDKs with the Swift Package Manager”. Just drop me a DM if you're in the city and would like to hang out. 🇫🇷

I love building open-source, but it’s a challenge as an indie when every hour you spend on open-source to help others is an hour you could spend on your own business. And some people are very tone deaf, like asking me for code to build some of my commercial features for free :(

Just landed in Paris! 🇫🇷 I’ll do a talk tomorrow on lessons learned while building SDKs with the Swift Package Manager. I’m looking forward to hang out in this amazing city once again ❤️

It is a little weird to me countries aren’t more aggressively, formally trying to take advantage of the U.S. science brain drain. Once in a lifetime opportunity to buy low on Non-Dumbass Americans with PhDs who just wanna look into microscopes and quietly cure ass cancer as our country eats shit.

Thanks to all who attended today's stream! We went through my massive SwiftUIKit library and extracted one thing from it to a new open-source library: ButtonKit. But I'm not sure - is StandardButton a better name to avoid future bloat. What do you all think? #SwiftUI github.com/danielsaidi/...

Join me as I’ll do some hobby coding in 15 minutes, where I’ll build a new, open-source Swift package for #SwiftUI from scratch. We’ll go through some candidates and decide which of the many packages I have on my list to build today. twitch.tv/danielsaidi

New blog post! 📝 How to add dependencies to a binary Swift package. I have looked all over for ways to make things happen and have finally made it work for pulling in an external binary package as a proper dependency. #swiftlang #spm danielsaidi.com/blog/2025/05...

KeyboardKit 9.4 was released a while back, with performance improvements that aim to make typing noticeably faster and smoother on all device types. Developers who've upgraded: Are you noticing these improvements in your apps? We would love to hear about your experience! #iOS #SwiftUI #SwiftLang

Summer is finally here in Sweden. I’ll try to spend as much time outdoors as I can, while also trying to nail the last details in the Paris and iOSKonf talks ☀️

⚡️🥹

I have updated LicenseKit with information that show how to set it up for closed-source SDKs. The icon & logo have been updated and the library updated to support Swift 6 and strict concurrency. Don't hesitate to reach out if you want to monetize your code with licenses. github.com/Kankoda/Lice...

I showed two friends my Paris talk and received some amazing and brutally honest feedback, so now both that and the iOSKonf talk has more storytelling than before.

How we made our app clip 18% smaller in 10 minutes with Binary Symbols & Metadata: If you look closely at each framework in our bundle, they all contain a String Table. These are binary symbols, metadata used for debugging. Since Xcode 14, this metadata is left bloating release builds by default.

So it only took the legal system 16 years(!) to figure out that the core business model of the App Store is illegal… right around where the golden era of apps is ending. Hundreds of billions $ that should have gone to indie devs.

I'm happy to confirm that it's possible for a binary Swift Package to have dependencies. I've used sync scripts for file copying instead of investigating this for so long. The private regular package can use plain dependencies, while the public binary one can use a multi-target product. So relieved!

Big thanks to @finestructure.co and @daveverwer.com for mentioning my TextReplacements package in your podcast 🙏 podcasts.apple.com/se/podcast/s...

I've updated the graphical profile of the @keyboardkit.bsky.social site as well. More colors, fewer boxes and lines, and more room to breathe overall. The next step is to add a glass effect to the grid tiles, which I think should be possible with plain CSS. #html #css keyboardkit.com

Some slight UI adjustments on the company website, that I will propagate down to the various product sites and keep on working on. It's basically a removal of many lines, boxes, etc. to get a super basic foundation that can be elevated by tiny touches here and there. kankoda.com

It’s quite interesting how you can keep restructuring a talk you found perfectly structured after the last ten restructurings.

I just rewatched Almost Famous, one of my all time favorite movies. It was a bittersweet experience, the product to a pre-9/11 that I will forever love, but that is no more.

I’m experimenting with setting up dependencies for a binary Swift package, which can’t define dependencies. But it seems like having a regular dependency in the private package and setting up the public binary package with a product and two targets works, due to dynamic linking. Need more tests tho.

I've had two great evenings with @massicotte.org where he helped me fix concurrency issues in LicenseKit that will make it easier to use w. Swift 6. Tonights learning was the "sending" keyword, which made a very nice thing possible in the demo. Read about it here: www.massicotte.org/concurrency-...

I try to build an XCFramework from a Swift Package with no Xcode project as needed before. It crashes with "INTERNAL ERROR: Unable to load workspace" errors. I now found a thread that indicates that it's Xcode 16.3, which adds yet another SPM problem to the list. developer.apple.com/forums/threa...

Are you looking for an alternative to Apple in-app purchases and subscriptions, or a way to protect a closed-source library with commercial licenses? This article by Kankoda shows how to use their LicenseKit SDK to add flexible license protection to your apps and SDKs. kankoda.com/blog/2025/04...

I've wrote a short post about extracting more value from your apps. Many companies are sitting on additional value in their apps. What if the tech that powers your app can be packaged and sold as a separate product? danielsaidi.com/blog/2025/04...

New AiOS Dispatch! AI IDE pricing wars heat up! VS Code, Cursor, Windsurf offer new OpenAI model support. Trae's agentic features & MCP integrations. Plus, Windsurf & Alex Sidebar pricing changes. www.rudrank.com/aios-dispatc...

I find this to be a really interesting change, where value-based customizations fits #SwiftUI better. Replacing the service-based architecture with plain values and view modifiers will make it easier to customize callouts, layouts, and styles, while keeping a few services for more complex tasks.

KeyboardKit 9.4 is out! 🚀 This version adds support for Emoji Version 16, 4 new emoji locales, support for Pamiri Shughni, improved English autocorrections, and significant performance improvements due to fewer redraws while typing. keyboardkit.com/blog/2025/04...

I really shouldn’t be this excited about #swift key paths at my age.

KeyboardKit 9.4 b1 is out! 🚀 This version adds support for Emoji 16 (8 new emojis), 🇹🇯 Pamiri Shughni, and localizes emojis in 🇫🇷 French, 🇮🇹 Italian, 🇧🇷 Portuguese (Brazil) & 🇷🇺 Russian. It also adds new gesture configurations and will improve performance by reducing redraws. github.com/KeyboardKit/...

JustType is a really good example of how adding AI to your keyboard can truly elevate the typing experience. 🤩

You know that things are bad when you find yourself nostalgic for the days of Kayleigh McEnany and Kellyanne Conway.

RichTextKit 1.2 is (finally) out! 🚀 This is a #Swift and #SwiftUI library for adding rich text features and text editors to your app. I struggle with finding time for this quite complex project, but am happy to now add support for a bunch of additional paragraph styles. github.com/danielsaidi/...

Remember all those nice, non-nazi Germans who lived in nazi Germany during WWII, that history didn’t brand as nazis afterwards? Or how about all those nice, everyday Russians who think Mr. P is the worst, that aren’t collectively referred to as “effin Russians” by large parts of the West?

in SwiftUI, contentMargins can add outer margins to the content or scroll indicators of a scrollable container. it can be used to remove the default spacing at the top of a list. fatbobman.com/en/posts/ne...

It’s been a few weeks and still no Xcode 16.3 patch to fix the Terminal crash when trying to build a package for a certain platform. Luckily it doesn’t affect Xcode projects, which means that I can still run my complex closed-source build scripts…but my open-source ones are hurting.

GestureButton 0.4 is out! 🚀 This is a #SwiftUI view that can trigger many different gesture actions. Just pass in the actions to trigger for a press, double press, long press, repeat, etc. and it handles everything for you. This version adds a max distance for long press. github.com/danielsaidi/...

LicenseKit 1.2 is out! 🚀 LicenseKit is a Swift-based SDK that lets you manage commercial licenses for your apps & SDKs. This version adds an actor-based store that can be used to store the last validated customer license in a concurrent way, for easier validation. #swift github.com/Kankoda/Lice...