Sign in

Daniel Saidi

@danielsaidi.bsky.social
508 followers 344 following 1.1K posts

Building apps & SDKs for the  stack, using Swift & SwiftUI.

PostsRepliesMedia
Reposted by Daniel Saidi
Snapp iOS Weekly @snappiosweekly.bsky.social · 22h
Authors: Max Desiatov, Omar Elsayed, Zhi Zhou, @peterfriese.dev, @fatbobman.com, Saron Yitbarek, Dashi Dance, @danielsaidi.bsky.social. Never miss an issue → subscribe: ios-newsletter.snappmobile.io/subscribe
011
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 01/10/2026
KeyboardKit 11 is out! 🚀 This major version upgrade is ported to Swift 6.2, and has support for 110+ languages, improved diacritics, new autocomplete and dictation features, a new plugin architecture, and swipe typing support tools. #swift #swiftui keyboardkit.com/blog/2026/10...
keyboardkit.com
KeyboardKit 11 is out
KeyboardKit 11 is out! This major version upgrade is ported to Swift 6.2, and has support for 110+ languages, improved diacritics, new au...
021
Daniel Saidi @danielsaidi.bsky.social · 01/10/2026
KeyboardKit's DocC documentation used to be ~900 MB, with more than 160,000 files. One Xcode build setting brought it down to ~45 MB. Here's how DOCC_SKIP_SYNTHESIZED_MEMBERS cut 95% of the size. #swift #swiftui #docc danielsaidi.com/blog/2026/10...
danielsaidi.com
How I reduced the size of my DocC documentation with 95%
The KeyboardKit documentation used to be a massive ~900 MB DocC build with more than 160,000 files. One single build setting brought it d...
121
Daniel Saidi @danielsaidi.bsky.social · 01/10/2026
SwiftPackageScripts 4.0 is out! 🚀 This version adds new scripts and workflows that can be used to create dynamic & static XCFrameworks from a Swift Package without a build project. The DocC scripts are also tweaked to drastically shrink the output size. github.com/danielsaidi/...
github.com
GitHub - danielsaidi/SwiftPackageScripts: A collection of Swift Package-related scripts.
A collection of Swift Package-related scripts. Contribute to danielsaidi/SwiftPackageScripts development by creating an account on GitHub.
021
Daniel Saidi @danielsaidi.bsky.social · 30/09/2026
KeyboardKit 11 adds a gesture overlay that covers the entire keyboard. It uses a single drag gesture that streams the touched item and its coordinates as you move. The SDK doesn't include a swipe typing engine yet, but this opens up for implementing it.
011
Reposted by Daniel Saidi
Kankoda @kankoda.bsky.social · 30/09/2026
The VietnameseInput SDK has been updated to support more complex diacritics, with Unicode combination mark support and wider replacements to allow you to apply diacritics at the end of a word. #vietnamese kankoda.com/blog/2026/09...
kankoda.com
VietnameseInput has been updated to support more complex diacritics
The VietnameseInput SDK has been updated to support more complex diacritics operations. By adding support for Unicode combination marks a...
001
Daniel Saidi @danielsaidi.bsky.social · 30/09/2026
We all know that we’re currently in the beginning of Childhood’s End, right? en.wikipedia.org/wiki/Childho...
en.wikipedia.org
Childhood's End - Wikipedia
000
Daniel Saidi @danielsaidi.bsky.social · 27/09/2026
Given that Apple’s message during this year’s WWDC was “not too many new features, but fixing and polishing all the things“ the native keyboard is surprisingly slow and laggy to launch, with thread hangs and missed initial key strokes.
030
Daniel Saidi @danielsaidi.bsky.social · 27/09/2026
KeyboardKit 11 Beta 3 is out, with support for 111 languages! 🚀 This is the last beta before the release, so make sure to test it and give us your feedback. keyboardkit.com/blog/2026/09...
keyboardkit.com
KeyboardKit 11 - The Final Beta
KeyboardKit 11 Beta 3 is out! This is the last beta before the scheduled October 1 release of KeyboardKit 11, and introduces support for ...
000
Daniel Saidi @danielsaidi.bsky.social · 25/09/2026
The new Resident Evil movie is amazing - 10/10! 🍿🤩
000
Reposted by Daniel Saidi
Yannick Lung @yanlu.chat · 25/09/2026
Last night I made a small Mac app that lets me slide to type with a mouse/trackpad. Kinda fun, definitely unnecessary 😅 I wrote about it here 👇 yannicklung.com/blog/playgro...
061
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 23/09/2026
Since iOS 27 and the upcoming betas do mess up some SwiftUI parts used by KeyboardKit, we just published a post about upgrading to the latest version. Upgrading should be pretty straightforward and fix many problems without any code changes. keyboardkit.com/blog/2026/09...
keyboardkit.com
A gentle reminder to upgrade KeyboardKit to the latest version
With iOS 27 out and with new devices on the way, this is a gentle reminder to upgrade to the latest version of KeyboardKit, to fix proble...
033
Daniel Saidi @danielsaidi.bsky.social · 23/09/2026
I used Claude to create a script that I can use to create new posts for my various web sites. The script creates a new post, used Claude CLI to create a post header from a Sketch file, and finally links the post to the image. It can also customize the title, tag, and link.
040
Daniel Saidi @danielsaidi.bsky.social · 22/09/2026
Amazing days for the KeyboardKit locale and layout engines! By adding unicode combining mark support to the diacritic model and new layout tools, we have gone from 75 to 87 supported locales in just a few days, with more to come in the upcoming 11 release. keyboardkit.com
keyboardkit.com
Home
KeyboardKit lets you replace the native iOS keyboard with your own custom keyboard. Make your app's unique features available in all apps.
010
Daniel Saidi @danielsaidi.bsky.social · 21/09/2026
KeyboardKit 11 beta 2 is out, with new plugins and many new additions since the beta 1. You can read more about the beta release in this announcement. keyboardkit.com/blog/2026/09...
keyboardkit.com
KeyboardKit 11 Beta
KeyboardKit 11 Beta is out! This pre-release is a way for you to test the many coming changes in the next major version of KeyboardKit. G...
010
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 20/09/2026
The iPhone Duo forces us all to adjust our apps to its new form factors, and KeyboardKit is no different. This blog post takes a quick look at the Duo's native keyboard and how KeyboardKit will have to adjust. #SwiftUI #iPhone-Duo keyboardkit.com/blog/2026/09...
keyboardkit.com
iPhone Duo and KeyboardKit
iPhone Duo is here, and with it a bunch of new concepts and form factors. This post takes a quick look at what it will mean for KeyboardK...
011
Daniel Saidi @danielsaidi.bsky.social · 20/09/2026
Xcode has started crashing when looking up symbols as I type. It started in 27.0 but also happens in 27.1 beta. Has anyone else run into this?
100
Daniel Saidi @danielsaidi.bsky.social · 15/09/2026
Tired of uploading PDFs and images to random "compress online" sites? I built two Finder Quick Actions that do it with a right-click, either in-place or into a new folder. Nothing leaves your Mac, and it never makes a file bigger. Downloads in the post 👇 danielsaidi.com/blog/2026/09...
danielsaidi.com
Compressing images and PDFs from the Finder context menu
This article shows how to create two Finder Quick Actions that can compress images and PDFs with a single right-click on any file in Find...
000
Daniel Saidi @danielsaidi.bsky.social · 15/09/2026
Thanks to GitHub user abdummm, EmojiKit is now localized in Arabic! #swiftui github.com/danielsaidi/...
github.com
GitHub - danielsaidi/EmojiKit: Emoji-based features and utilities for Swift & SwiftUI.
Emoji-based features and utilities for Swift & SwiftUI. - danielsaidi/EmojiKit
020
Daniel Saidi @danielsaidi.bsky.social · 15/09/2026
We have received user feedback that the on-device we tools KeyboardKit uses for autocomplete no longer works for some locales (Greek, Hungarian, and Icelandic) in iOS 27. We have reported this to Apple and hope that the issue will be fixed soon. keyboardkit.com/blog/2026/09...
keyboardkit.com
Autocomplete changes in iOS 27
iOS 27 is finally out, and it affects the tool we use to implement autocomplete in KeyboardKit. The tool supports 5 brand new locales, im...
000
Daniel Saidi @danielsaidi.bsky.social · 15/09/2026
Has anyone noticed UITextChecker regressions in iOS 27? Things have been working during the betas, at least in the languages I’ve tested, but I’ve now received reports from users that upgraded to the real release that it doesn’t work.
020
Daniel Saidi @danielsaidi.bsky.social · 14/09/2026
I think it would have made a lot more sense for the duo to just be a regular sized phone that you folded out to its double size (but, but, the aspect ratio!). Sharp corners on the hinged side would have made it different enough without all these new UX concepts. But think different I guess.
000
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 11/09/2026
The first KeyboardKit 11.0 beta is out! 🚀 Please see this blog post for more information. We'll aim to release KeyboardKit 11 on October 1, and will start working on the documentation now. We can't wait to hear what you think about this major update. keyboardkit.com/blog/2026/09...
keyboardkit.com
KeyboardKit 11 Beta
KeyboardKit 11 Beta is out! This pre-release is a way for you to test the many coming changes in the next major version of KeyboardKit. G...
121
Daniel Saidi @danielsaidi.bsky.social · 09/09/2026
I saw a Pixel 10a phone today, with its wonderful, completely flat back. I would love for the base iPhone to have the same design. I don’t understand how people just accept ever increasing wobble year after year.
0110
Daniel Saidi @danielsaidi.bsky.social · 09/09/2026
The Jobs storytelling is still dead. This is so effing boring.
130
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 09/09/2026
We have noticed SwiftUI gesture problems in the iOS 27 beta, and just released a 10.9.4 update that tries to fix it by rebuilding the gesture engine from scratch. You can read more here. keyboardkit.com/blog/2026/09...
keyboardkit.com
Gesture problems in iOS 27 beta
There are some subtle gesture problems with the keyboard buttons in iOS 27 beta, where typing feels a bit off. This post describes the pr...
032
Daniel Saidi @danielsaidi.bsky.social · 09/09/2026
Using a #SwiftUI drag gesture to derive various gesture intents is not nearly as good as wrapping UIKit and handling raw touch events. 🥲 I'm experimenting with a touch-based wrapper and it's SO much snappier than SwiftUI. Plus no gesture gate issues in the keyboard extension.
161
Daniel Saidi @danielsaidi.bsky.social · 09/09/2026
A developer has reported laggy typing in KeyboardKit in iOS 27, and I can now reproduce it. It may seem obvious, but if just press keys slowly you'll notice how random presses are delayed to when you release the key, *or* the gesture times out after ~1s and triggers the press action.
100
Daniel Saidi @danielsaidi.bsky.social · 08/09/2026
KeyboardKit gestures behave very strange in the latest iOS 27 public beta. Tapping a key multiple times and the touch down (press) gesture sometimes doesn’t trigger for a full second. Same key, same code, very random behavior.
010
Daniel Saidi @danielsaidi.bsky.social · 08/09/2026
Does anyone know why open-source monetization spam emails have become so common lately? Is the obvious "AI makes spamming cheap" explanation enough?
110
Daniel Saidi @danielsaidi.bsky.social · 07/09/2026
Why are people so obsessed with a flip phone that it’s all the US Apple Podcasts have talked about for months now? It will be convenient, sure, but come on.
010
Reposted by Daniel Saidi
Rudrank Riyam @rudrank.bsky.social · 07/09/2026
App Store publishing is now 2.5x to 4x faster on Rork! 🏎️ Happy Monday, and go ship moree
011
Daniel Saidi @danielsaidi.bsky.social · 04/09/2026
Turns out that pulling in a static framework dependency into a dynamic Swift package works fine when you compile and run, but completely breaks SwiftUI previews with both Claude and OpenAI being able to come up with a solution 😵
021
Daniel Saidi @danielsaidi.bsky.social · 04/09/2026
If you're interested in closed source, I'd love for you to take a look at LicenseKit to protect your closed source products. Version 2.2 just shipped, and this blog post describes how to set it up, with examples and links to the documentation. #swift #licensing danielsaidi.com/blog/2026/09...
danielsaidi.com
Using LicenseKit to Protect Closed Software With Commercial Licenses
Kankoda has just released LicenseKit 2.2, which ships as a static framework to make it even easier to distribute it with your app/SDK. Le...
121
Daniel Saidi @danielsaidi.bsky.social · 04/09/2026
A new study in the Journal of Psychopathology and Clinical Science has looked at some mental health research projects that use a custom keyboard to gather typing metrics, with the goal to predict mental health episodes. danielsaidi.com/blog/2026/09...
danielsaidi.com
Custom keyboards and mental health research
Your keyboard may know more about your brain than your doctor does. A study in the Journal of Psychopathology and Clinical Science looks ...
000
Daniel Saidi @danielsaidi.bsky.social · 03/09/2026
I finally managed to generate Swift package XCFramework build scripts for both dynamic and static frameworks, that don’t require an Xcode project nor the Swift package plugin 🎉 Such a good feeling to remove the KeyboardKit framework project.
041
Daniel Saidi @danielsaidi.bsky.social · 02/09/2026
I'm rebuilding my sites with a new design system for my company. The idea is to use it as a foundation on all pages, and for it to be clean by default and easy to tweak. Today I ported the Appamini website to it, and am very happy with how it turned out. appamini.com
appamini.com
Home
Appamini makes educational apps for curious kids. Explore our worlds on iPhone, iPad, Mac, and Vision Pro.
020
Daniel Saidi @danielsaidi.bsky.social · 01/09/2026
It has taken some time to get this in place, but rebuilding the shared design from scratch when I knew what we needed has made everything so much more intuitive. Each web site can customize the base system with very minor adjustments, and sync back any changes that should be updated.
020
Daniel Saidi @danielsaidi.bsky.social · 30/08/2026
I finally got around to update the Wally app’s website to use my company’s new design system. Very basic so far, but it will be so nice when every site use the same foundation. wally.app
wally.app
Home
Wally is a digital wallet for iPhone and iPad. Add your cards, receipts, etc. to Wally to keep them safe and available at all times.
020
Daniel Saidi @danielsaidi.bsky.social · 28/08/2026
I hate how Apple used to be all about the 1000 songs in your pocket way of talking about tech, and now all they and all Apple podcasts talk about is gigabytes, terabytes, dollars, knits and fps.
040
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 28/08/2026
What a week! We started with releasing a 10.9 version, followed by a 10.9.1 patch, and now end on a high note, by releasing the KeyboardKit 11 Developer Preview 1! 🚀 keyboardkit.com/blog/2026/08...
keyboardkit.com
KeyboardKit 11 Developer Preview
KeyboardKit 11 Developer Preview 1 is out! This pre-release is a way for you to test the many coming changes in the next major version of...
101
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 27/08/2026
KeyboardKit 10.9 is out! 🚀 This version adds new tools for identifying the host application (thanks to GitHub user @exphat), deprecates things for the upcoming 11.0 release, and fixes some gesture behaviors and bugs. keyboardkit.com/blog/2026/08...
keyboardkit.com
KeyboardKit 10.9
KeyboardKit 10.9 is out! This is the last minor release before the upcoming 11.0 release, which will be released alongside iOS 27 and dev...
001
Daniel Saidi @danielsaidi.bsky.social · 27/08/2026
Yesterday, I managed to reset my KeyboardKit "v11" branch to main and lose two weeks of work. I also force pushed before noticing, making things even worse. But Claude to the rescue - turns out git has your back when disaster strikes! danielsaidi.com/blog/2026/08...
danielsaidi.com
Some things are never truly lost - How git recovered two weeks of deleted work
After spening 2+ weeks working on a major product update, I deleted everything by mistake. Then I got it back. This is a story about pani...
020
Daniel Saidi @danielsaidi.bsky.social · 26/08/2026
I'm on Opus 5 and it still is very often wrong on basic SwiftUI stuff. The biggest difference to me is the massive increase in text output, to give the illusion of more complex thought.
151
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 25/08/2026
KeyboardKit 10.9 Developer Preview is out! 🚀 This version adds a new way to resolve the host application, to replace what stopped working in iOS 26.4. It also improves typing performance, fixes a repeat gesture bug, adds new views, and deprecates old dictation tools. keyboardkit.com/blog/2026/08...
keyboardkit.com
KeyboardKit 10.9 Developer Preview
KeyboardKit 10.9 Developer Preview 1 is out! This pre-release is way for you to test the many coming features and changes while they are ...
011
Daniel Saidi @danielsaidi.bsky.social · 25/08/2026
GestureButton is an open-source #SwiftUI component that lets you trigger many different gesture actions with a single button. The new 0.6 version bumps the library to iOS 16, updates the view to not use a geometry reader, and improves its performance with small tweaks. github.com/danielsaidi/...
github.com
GitHub - danielsaidi/GestureButton: A SwiftUI button that can trigger many gesture actions.
A SwiftUI button that can trigger many gesture actions. - danielsaidi/GestureButton
061
Reposted by Daniel Saidi
KeyboardKit @keyboardkit.bsky.social · 24/08/2026
We are currently evaluating a new way of identifying the host application from a keyboard extension. The old approach stopped working in iOS 26.4, and we hope that this new implementation will be able to replace it. keyboardkit.com/blog/2026/08...
keyboardkit.com
Evaluating a New Host Application Approach
We are currently evaluating a promising replacement for the host application resolver that stopped working in iOS 26.4.
001
Daniel Saidi @danielsaidi.bsky.social · 24/08/2026
App Store review times are very random these days. My Wally and EmojiPicker apps were reviewed and approved almost immediately, while the other 4 apps have been waiting for review for a very long time.
130
Daniel Saidi @danielsaidi.bsky.social · 23/08/2026
I just noticed that the subscription pricing of my iOS app - $0.99 monthly / $9.99 yearly (10 month cost) - in my local currency converts to 9 SEK monthly / 129 SEK yearly - making the yearly price higher than paying monthly. Very strange. Does anyone know why Apple apply this uneven conversion?
220
Daniel Saidi @danielsaidi.bsky.social · 22/08/2026
I released a new version of my wallet app Wally a few days ago, with a lifetime unlock option. I now realized that it's cheaper than the yearly subscription. Turns out I've set the new price to Sept 1st since I didn't expect to release it so soon. Change it or keep it? 🙈 wally.app
010