こんにちは。医学部の在学生で、2か月前からバイブコーディングを独学しながら macOS のメニューバーアプリを1つ作りました。今日公開します!
MiniAI - どんなアプリか
どこでもテキストを選択して、設定したショートカットキーを押すと、メニューバーに小さなウィンドウが現れて AI が説明してくれます。ブラウザに移ってググって戻ってくる手間がなくなるのがポイントです。
もともとは論文を読むときに分からない用語を調べるのが面倒で作ったのですが、作ってみると英語メールを書くときやコードを見るときなど、いろいろな場面で使うようになりました。
技術スタック
- UI: NSPanel + SwiftUI(メニューバーアプリの floating window)
- AI応答: SSE ストリーミングによるリアルタイムのタイピング効果
- バックエンド: Supabase Edge Function による API プロキシ(クライアントに API キーを埋め込まないため)
- Rate limiting: PostgreSQL ベースのユーザーごとの制限
- 配布: Developer ID 署名 + notarization 完了
開発中にいちばん時間を取られた部分
- グローバルなテキスト選択の検知(Accessibility API の権限処理)
- API キーのセキュリティ(初期はクライアントにハードコードしていて、あとで気づいて全面的に作り直し)
- notarization のプロセス(初体験だったので2日飛びました)
特に 3 番は、macOS アプリを配布したことがある方なら共感してもらえると思います。ドキュメントどおりに進めても一発で通らない工程がいくつもありました。
現在の状態
- ベータ公開中、無料
- ダウンロードはホームページから
フィードバック歓迎です
- ショートカットキーの UX が自然か
- クリーンインストール時に問題がないか
- アーキテクチャに改善点があるか
- 類似アプリを開発したことがある方のアドバイス
アーキテクチャの改善点や、macOS notarization で苦労した経験の共有も歓迎です。
そしてもう1つ、開発者として本業は別にありつつ、サイドでプロダクトを作っている方に、
"これをさらに掘り下げるべきか" vs "経験として区切って次へ進むか" の意思決定をどうしているのか気になっています。
16件のコメント
こんにちは。いくつか意見があります!
opt + spaceです。デフォルトのショートカットは別のもののほうがよいのではないかと思いました。こんなに詳しく見てくださって本当にありがとうございます 🙏
ショートカット: はい、その通りです。Alfred/Raycast ユーザーの方々からは ⌥Space の競合問題について
最も多くフィードバックをいただいています。カスタムショートカット設定機能は認識しており、
改善の優先順位に入れておきます!
署名/公証: はい、現在は adhoc 署名の状態です。
まだ開発初期ということもあり、公証費用が少し負担で保留にしていました 😅
チェックしてくださってありがとうございます!
配布方式: App Store や Homebrew Cask での配布も検討しています。
現在は迅速な配布のためにまず DMG で公開しましたが、
おっしゃる方向性が正しいと思います。
直接
codesignまで確認してくださったのを見て感動しました。プロダクトに愛着を持ってくださって本当にありがとうございます!
また不便な点があればぜひ教えてください。励みになります 😄
特にプロダクションレベルの製品として販売するのでなければ、GitHubでオープンソースとして公開してフィードバックをもらうのもよいのではないでしょうか?
貴重なご意見ありがとうございます!
この関連ビジネスは初めてだったので経験として進めていたのですが、オープンソースとして多くの方が直接使えるように公開するのも良いアイデアだと思います 😁
もしオープンソースとして公開するなら、ぜひフィードバックしてくださいね~~ :)
オープンソースだからといって販売できないわけではありませんし、二本立てでやっているアプリもかなりあります。オープンソースは一般の人向けというより、主にそのプロジェクトに関心のあるほかの開発者と一緒に作っていくという概念です。盗まれるのが心配ならライセンスをしっかり付けておけばよいのですが……とはいえ、大AI時代でクリーンルームプロジェクトがあふれているので、それにどれほど意味があるのかとも思います。オープンソース化してくだされば、フィードバックだけで済むと思いますか?(笑)
wwwtkhwwwtk 先輩開発者のアドバイスありがとうございます
最近は世の中の変化があまりにも速くて、適応するのが本当に難しいですね!
たくさんの情報をありがとうございます。これからもたくさん関心を持っていただけるとうれしいです 😁
どのAIモデルでしょうか??
Claude APIを使っていると書かれています。
本文に堂々と書いてあるのに、もしかして自分の質問じゃなかったのかと肝を冷やしながら探しました。
要約文、元記事、サイト、プログラムをインストールしてかなり探しても見つからず、結局プライバシーポリシーに書かれていました。
普通は技術スタックを確認するためにプライバシーポリシーまで漁ったりはしないですよね。
次からはどこに書いてあるのかも教えていただけるとありがたいです.
貴重なフィードバックを本当にありがとうございます!
モデルに関する言及を書こうかとも思ったのですが、一般の方にはAPIという概念があまり馴染みがないかもしれないと思い、あえて触れていませんでした。
関連して気になる点がある方もいらっしゃるので、私のほうで修正しておきます。
もしアプリを使ってみましたか? どんな感じだったか気になりますね :)
あっ、jhk0530さんにお伝えしました
Claude APIを使っているとどこに書いてありますか?
本文とWebサイトを見に行ったのですが、見つからなくて。
こんにちは!開発者です。
Claude Sonnet 4モデルを使用しています!
今後はBYOKや他のモデルも直接選択できる選択肢を実装する予定です。
ご関心をお寄せいただきありがとうございます :)
ご回答ありがとうございます!
DeepLのポップアップ翻訳機能は使っていたのですが、これは少し試してみたくなりました。
今後は https://www.openresponses.org/ 形式にも対応して、ローカルLLMも使えるように開く方法も良さそうですね!
翻訳機能を中心にお使いになる予定なのですね!
今後はモード選択機能も追加して、もう少し特化した翻訳機能を提供できる方向へ進めていく計画です :)
外部APIだけでなく、ローカルモデルとして使える方法もご提案いただきありがとうございます! 今後の実装計画に追加いたします
貴重なフィードバックをありがとうございます。もし使いにくい点などがありましたら、ぜひお知らせください 😄
1週間使ってみましたが、使い勝手がよくて継続して使っています。ありがとうございます。
ほかの方々がおっしゃるように、ショートカットの配布方式の問題さえ解決されれば、さらに良くなると思います!期待しています