9 ポイント 投稿者 medidevlab 2026-04-15 | 16件のコメント | WhatsAppで共有

こんにちは。医学部の在学生で、2か月前からバイブコーディングを独学しながら macOS のメニューバーアプリを1つ作りました。今日公開します!

MiniAI - どんなアプリか

どこでもテキストを選択して、設定したショートカットキーを押すと、メニューバーに小さなウィンドウが現れて AI が説明してくれます。ブラウザに移ってググって戻ってくる手間がなくなるのがポイントです。

もともとは論文を読むときに分からない用語を調べるのが面倒で作ったのですが、作ってみると英語メールを書くときやコードを見るときなど、いろいろな場面で使うようになりました。

技術スタック

  • UI: NSPanel + SwiftUI(メニューバーアプリの floating window)
  • AI応答: SSE ストリーミングによるリアルタイムのタイピング効果
  • バックエンド: Supabase Edge Function による API プロキシ(クライアントに API キーを埋め込まないため)
  • Rate limiting: PostgreSQL ベースのユーザーごとの制限
  • 配布: Developer ID 署名 + notarization 完了

開発中にいちばん時間を取られた部分

  1. グローバルなテキスト選択の検知(Accessibility API の権限処理)
  2. API キーのセキュリティ(初期はクライアントにハードコードしていて、あとで気づいて全面的に作り直し)
  3. notarization のプロセス(初体験だったので2日飛びました)

特に 3 番は、macOS アプリを配布したことがある方なら共感してもらえると思います。ドキュメントどおりに進めても一発で通らない工程がいくつもありました。

現在の状態

  • ベータ公開中、無料
  • ダウンロードはホームページから

フィードバック歓迎です

  • ショートカットキーの UX が自然か
  • クリーンインストール時に問題がないか
  • アーキテクチャに改善点があるか
  • 類似アプリを開発したことがある方のアドバイス

アーキテクチャの改善点や、macOS notarization で苦労した経験の共有も歓迎です。

そしてもう1つ、開発者として本業は別にありつつ、サイドでプロダクトを作っている方に、
"これをさらに掘り下げるべきか" vs "経験として区切って次へ進むか" の意思決定をどうしているのか気になっています。

16件のコメント

 
t7vonn 2026-04-17

こんにちは。いくつか意見があります!

  • Macユーザーの中には alfred / raycast などのツールを使っている方が多いと思いますが、これらのアプリの基本ショートカットが opt + space です。デフォルトのショートカットは別のもののほうがよいのではないかと思いました。
  • 署名 / 公証がされていないようです。
(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 ファイルで配布するより、App Store / homebrew 方式でインストールできるとよいと思います。
 
medidevlab 2026-04-18

こんなに詳しく見てくださって本当にありがとうございます 🙏

  1. ショートカット: はい、その通りです。Alfred/Raycast ユーザーの方々からは ⌥Space の競合問題について
    最も多くフィードバックをいただいています。カスタムショートカット設定機能は認識しており、
    改善の優先順位に入れておきます!

  2. 署名/公証: はい、現在は adhoc 署名の状態です。
    まだ開発初期ということもあり、公証費用が少し負担で保留にしていました 😅
    チェックしてくださってありがとうございます!

  3. 配布方式: App Store や Homebrew Cask での配布も検討しています。
    現在は迅速な配布のためにまず DMG で公開しましたが、
    おっしゃる方向性が正しいと思います。

直接 codesign まで確認してくださったのを見て感動しました。
プロダクトに愛着を持ってくださって本当にありがとうございます!
また不便な点があればぜひ教えてください。励みになります 😄

 
kurthong 2026-04-16

特にプロダクションレベルの製品として販売するのでなければ、GitHubでオープンソースとして公開してフィードバックをもらうのもよいのではないでしょうか?

 
medidevlab 2026-04-16

貴重なご意見ありがとうございます!

この関連ビジネスは初めてだったので経験として進めていたのですが、オープンソースとして多くの方が直接使えるように公開するのも良いアイデアだと思います 😁

もしオープンソースとして公開するなら、ぜひフィードバックしてくださいね~~ :)

 
kurthong 2026-04-16

オープンソースだからといって販売できないわけではありませんし、二本立てでやっているアプリもかなりあります。オープンソースは一般の人向けというより、主にそのプロジェクトに関心のあるほかの開発者と一緒に作っていくという概念です。盗まれるのが心配ならライセンスをしっかり付けておけばよいのですが……とはいえ、大AI時代でクリーンルームプロジェクトがあふれているので、それにどれほど意味があるのかとも思います。オープンソース化してくだされば、フィードバックだけで済むと思いますか?(笑)

 
medidevlab 2026-04-16

wwwtkhwwwtk 先輩開発者のアドバイスありがとうございます
最近は世の中の変化があまりにも速くて、適応するのが本当に難しいですね!
たくさんの情報をありがとうございます。これからもたくさん関心を持っていただけるとうれしいです 😁

 
ly0738 2026-04-15

どのAIモデルでしょうか??

 
jhk0530 2026-04-15

Claude APIを使っていると書かれています。

 
ly0738 2026-04-15

本文に堂々と書いてあるのに、もしかして自分の質問じゃなかったのかと肝を冷やしながら探しました。

要約文、元記事、サイト、プログラムをインストールしてかなり探しても見つからず、結局プライバシーポリシーに書かれていました。
普通は技術スタックを確認するためにプライバシーポリシーまで漁ったりはしないですよね。

次からはどこに書いてあるのかも教えていただけるとありがたいです.

 
medidevlab 2026-04-15

貴重なフィードバックを本当にありがとうございます!

モデルに関する言及を書こうかとも思ったのですが、一般の方にはAPIという概念があまり馴染みがないかもしれないと思い、あえて触れていませんでした。

関連して気になる点がある方もいらっしゃるので、私のほうで修正しておきます。

もしアプリを使ってみましたか? どんな感じだったか気になりますね :)

 
ly0738 2026-04-15

あっ、jhk0530さんにお伝えしました

 
ly0738 2026-04-15

Claude APIを使っているとどこに書いてありますか?
本文とWebサイトを見に行ったのですが、見つからなくて。

 
medidevlab 2026-04-15

こんにちは!開発者です。
Claude Sonnet 4モデルを使用しています!

今後はBYOKや他のモデルも直接選択できる選択肢を実装する予定です。

ご関心をお寄せいただきありがとうございます :)

 
ly0738 2026-04-15

ご回答ありがとうございます!
DeepLのポップアップ翻訳機能は使っていたのですが、これは少し試してみたくなりました。
今後は https://www.openresponses.org/ 形式にも対応して、ローカルLLMも使えるように開く方法も良さそうですね!

 
medidevlab 2026-04-15

翻訳機能を中心にお使いになる予定なのですね!

今後はモード選択機能も追加して、もう少し特化した翻訳機能を提供できる方向へ進めていく計画です :)

外部APIだけでなく、ローカルモデルとして使える方法もご提案いただきありがとうございます! 今後の実装計画に追加いたします

貴重なフィードバックをありがとうございます。もし使いにくい点などがありましたら、ぜひお知らせください 😄

 
ly0738 2026-04-23

1週間使ってみましたが、使い勝手がよくて継続して使っています。ありがとうございます。
ほかの方々がおっしゃるように、ショートカットの配布方式の問題さえ解決されれば、さらに良くなると思います!期待しています