9 puan yazan medidevlab 2026-04-15 | 16 yorum | WhatsApp'ta paylaş

Merhaba. Tıp fakültesinde öğrenciyim ve 2 aydır vibe coding’i kendi kendime öğrenirken bir macOS menü çubuğu uygulaması yaptım. Bugün yayınlıyorum!

MiniAI - nasıl bir uygulama

Herhangi bir yerde metin seçip belirlediğiniz kısayola bastığınızda, menü çubuğunda küçük bir pencere açılıyor ve yapay zeka açıklama yapıyor. Asıl amaç, tarayıcıya geçip Google’da arama yapıp geri dönme sürecini ortadan kaldırmak.

Aslında makale okurken bilmediğim terimleri aramak zahmetli olduğu için yapmıştım ama geliştirdikten sonra İngilizce e-posta yazarken, koda bakarken ve başka birçok durumda kullandığımı fark ettim.

Teknoloji yığını

  • UI: NSPanel + SwiftUI (menü çubuğu uygulamasının floating window’u)
  • Yapay zeka yanıtı: SSE streaming ile gerçek zamanlı yazma efekti
  • Backend: Supabase Edge Function ile API proxy’si (API anahtarını istemciye gömmemek için)
  • Rate limiting: PostgreSQL tabanlı kullanıcı başına sınırlandırma
  • Dağıtım: Developer ID imzası + notarization tamamlandı

Geliştirirken en uzun süre uğraştığım kısımlar

  1. Global metin seçimini algılama (Accessibility API izinlerinin yönetimi)
  2. API anahtarı güvenliği (başta istemciye hardcode etmiştim, sonra fark edip baştan kurdum)
  3. Notarization süreci (ilk deneyim olduğu için 2 günüm gitti)

Özellikle 3. maddeye, daha önce macOS uygulaması dağıtanlar katılacaktır sanırım. Belgeleri takip etseniz bile tek seferde çalışmayan birkaç aşama vardı.

Şu anki durum

  • Beta olarak açık, ücretsiz
  • İndirme bağlantısı ana sayfada

Geri bildirimlere açığım

  • Kısayol UX’i doğal hissettiriyor mu
  • Temiz kurulumda sorun çıkıyor mu
  • Mimaride geliştirilebilecek noktalar var mı
  • Benzer bir uygulama geliştirmiş olanların tavsiyeleri

Mimariyi iyileştirme önerileri ya da macOS notarization sürecinde yaşadığınız sancılı deneyimleri paylaşırsanız sevinirim.

Bir şey daha: geliştirici olarak ana işi ayrı olup yan tarafta ürün geliştirenler,
"Bunu daha da derinleştireyim mi" vs "bunu bir deneyim olarak kapatıp sonrakine mi geçeyim" kararını nasıl veriyorsunuz, merak ediyorum.

16 yorum

 
t7vonn 2026-04-17

Merhaba, birkaç görüş paylaşmak istiyorum!

  • Mac kullanıcıları arasında alfred / raycast gibi araçları kullanan çok kişi olduğunu biliyorum ve bu uygulamaların varsayılan kısayolu opt + space. Varsayılan kısayol olarak başka bir kombinasyon daha iyi olabilir diye düşünüyorum.
  • Görünüşe göre imzalama/noter onayı yapılmamış.
(1) codesign  
$ codesign -dv --verbose=4 MiniAi.app  
Executable=/Users/.../Downloads/MiniAi.app/Contents/MacOS/MiniAi  
Identifier=com.miniai.app  
Format=app bundle with Mach-O thin (arm64)  
CodeDirectory v=20400 size=8551 flags=0x2(adhoc) hashes=257+7 location=embedded  
VersionPlatform=1  
VersionMin=917504  
VersionSDK=1704960  
Hash type=sha256 size=32  
CandidateCDHash sha256=c60ed7e37e533d09cf5365d97bf6428c8d42f2dd  
CandidateCDHashFull sha256=c60ed7e37e533d09cf5365d97bf6428c8d42f2dd94cdca992cd3f61e8e6554a3  
Hash choices=sha256  
CMSDigest=c60ed7e37e533d09cf5365d97bf6428c8d42f2dd94cdca992cd3f61e8e6554a3  
CMSDigestType=2  
Executable Segment base=0  
Executable Segment limit=1556480  
Executable Segment flags=0x1  
Page size=16384  
CDHash=c60ed7e37e533d09cf5365d97bf6428c8d42f2dd  
Signature=adhoc  
Info.plist entries=24  
TeamIdentifier=not set  
Sealed Resources version=2 rules=13 files=7  
Internal requirements count=0 size=12  
  
(2) gatekeeper  
$ spctl -a -vvv -t execute MiniAi.app  
MiniAi.app: rejected  
  
(3) Notary staple  
$ xcrun stapler validate MiniAi.dmg  
Processing: /Users/.../Downloads/MiniAi.dmg  
MiniAi.dmg does not have a ticket stapled to it.  
  
$ xcrun stapler validate MiniAi.app  
Processing: /Users/.../Downloads/MiniAi.app  
MiniAi.app does not have a ticket stapled to it.  
  • dmg dosyasıyla dağıtmak yerine, App Store / Homebrew üzerinden kurulabilirse iyi olur.
 
medidevlab 2026-04-18

Vay, bu kadar detaylı incelemeniz için gerçekten çok teşekkür ederim 🙏

  1. Kısayol: Evet, Alfred/Raycast kullanıcılarından ⌥Space çakışmasıyla ilgili
    en çok geri bildirim geliyor. Özel kısayol ayarlama özelliğinin farkındayız ve
    bunu iyileştirme önceliklerine alacağız!

  2. İmzalama/noter onayı: Evet, şu anda adhoc imzalama durumunda.
    Henüz geliştirme aşamasının başında olduğumuz için noter onayı maliyeti biraz yük oluşturuyordu, bu yüzden ertelemiştik 😅
    Kontrol ettiğiniz için teşekkürler!

  3. Dağıtım yöntemi: App Store veya Homebrew Cask üzerinden dağıtımı da değerlendiriyoruz.
    Şu anda hızlı dağıtım için önce DMG ile çıktık ama
    söylediğiniz yönün doğru olduğunu düşünüyorum,,

Bizzat codesign'a kadar kontrol etmiş olmanızı görünce çok etkilendim.
Ürüne ilgi ve sevgi göstermiş olmanız için gerçekten çok teşekkür ederim!
Yine bir rahatsızlık olursa lütfen mutlaka söyleyin, bu bize moral veriyor 😄

 
kurthong 2026-04-16

Özellikle üretim seviyesinde satmıyorsanız, GitHub’da open source olarak yayımlayıp geri bildirim alsanız da bence sorun olmaz gibi?

 
medidevlab 2026-04-16

Değerli görüşünüz için teşekkürler!

Bu alandaki ilgili iş benim için ilk olduğu için biraz deneyim kazanmak amacıyla ilerlemiştim, ama birçok kişinin doğrudan kullanabilmesi için bunu açık kaynak olarak dağıtmak da iyi bir fikir gibi görünüyor 😁

Eğer açık kaynak olarak yayımlarsam mutlaka geri bildirim vermelisiniz~~ :)

 
kurthong 2026-04-16

Açık kaynak diye satamayacağınız anlamına gelmiyor. Bunu iki kulvarda yürüten epey uygulama da var. Açık kaynak, genel kullanıcılardan ziyade çoğunlukla projeyle ilgilenen diğer geliştiricilerle birlikte üretme anlayışıyla ilgili. Ya çalınırsa diye düşünüyorsanız lisansı net biçimde koymanız yeterli olabilir ama... yapay zeka çağında clean-room projeler ortalığı kaplamışken bunun ne kadar anlamı var, emin değilim. Açık kaynak olarak geri verirseniz size sadece geri bildirim mi verilir sanıyorsunuz? haha

 
medidevlab 2026-04-16

Haha, teşekkür ederim geliştirici büyüklerimizin tavsiyeleri için
Bu günlerde dünya o kadar hızlı değişiyor ki buna ayak uydurmak gerçekten çok zor!
Verdiğiniz çok sayıdaki bilgi için teşekkür ederim, bundan sonra da ilginizi eksik etmezseniz sevinirim 😁

 
ly0738 2026-04-15

Hangi yapay zeka modeli acaba??

 
jhk0530 2026-04-15

Claude API kullandığı belirtiliyor.

 
ly0738 2026-04-15

Soruyu ben sormuşum gibi panikleyip aradım; meğer metnin içinde gayet açıkça yazıyormuş.

Özet yazıyı, asıl yazıyı, siteyi ve programı kurup içeriği uzun süre didik didik aramama rağmen bulamadım; en sonunda gizlilik politikasında yazdığını gördüm.
Normalde teknoloji yığınını kontrol etmek için gizlilik politikasına kadar inip bakılmaz.

Bir dahaki sefere bunun nerede yazdığını da belirtirseniz sevinirim.

 
medidevlab 2026-04-15

Değerli geri bildiriminiz için gerçekten çok teşekkür ederim!

Modelle ilgili bir açıklama yazmayı düşündüm ama sıradan kullanıcıların api kavramını çok iyi bilmeyebileceğini düşündüğüm için buna değinmemiştim.

Bununla ilgili merakı olanlar olduğu için ben de düzenleme yapacağım.

Bu arada uygulamayı denediniz mi? Nasıl bulduğunuzu merak ediyorum :)

 
ly0738 2026-04-15

Ah, bunu jhk0530'a söyledim.

 
ly0738 2026-04-15

Claude API kullandığına dair bunun nerede yazdığını görebiliriz?
Metne ve web sitesine baktım ama göremedim.

 
medidevlab 2026-04-15

Merhaba! Geliştiricisiyim.
Claude Sonnet 4 modelini kullanıyorum!

İleride BYOK ya da diğer modelleri de doğrudan seçebileceğiniz bir seçenek eklemeyi planlıyorum.

İlginiz için teşekkürler :)

 
ly0738 2026-04-15

Yanıtınız için teşekkürler!
DeepL'in pop-up çeviri özelliğini kullanıyordum ama bunu da kısa süreliğine denemem gerekecek.
İleride https://www.openresponses.org/ formatını da destekleyip yerel LLM'lerin de kullanılabilmesine olanak tanıyacak şekilde açmanızın da iyi olacağını düşünüyorum!

 
medidevlab 2026-04-15

Görünüşe göre uygulamayı ağırlıklı olarak çeviri özelliği için kullanmayı düşünüyorsunuz!

İleride mod seçme özelliğini de ekleyerek biraz daha uzmanlaşmış çeviri işlevleri sunabileceğimiz bir yöne ilerlemeyi planlıyoruz :)

Harici API'ler dışında yerel modellerle kullanma yöntemini de önermeniz için teşekkürler! Bunu ilerideki geliştirme planlarımıza ekleyeceğim.

Değerli geri bildiriminiz için teşekkür ederim; ayrıca herhangi bir rahatsızlık yaşarsanız lütfen mutlaka bize bildirin 😄

 
ly0738 2026-04-23

Bir haftadır kullanıyorum; kullanıcı deneyimi iyi olduğu için kullanmaya devam ediyorum, teşekkürler.
Diğerlerinde olduğu gibi yalnızca kısayolun dağıtım yöntemiyle ilgili sorun çözülürse daha da iyi olacağını düşünüyorum! Merakla bekliyorum