#AI開発
こんにちは、如月翔也(@showya_kiss)です。
App Storeでアプリを公開している都合上、本名登録が必要なので本名がモロバレですが、それでもネット上の活動では「如月翔也」を通すのでよろしくおねがいします。
開発するの?
基本的にネット上ではハック中心で、人の結果をハックして自分向けに改造したり、あるいはブックマークレットを作成して公開していたんですが、ここ1年ではこんな感じ者を公開しています。
- VS Code(またはCursor)で「作ったマークダウンを変換してWordPressに投稿する機能拡張」を作成。
- 本来機能拡張が存在したんですが、いきなり使えなくなったので公開されている機能拡張をハックして復活させました。さらに「GoldBlog」テーマ用にハッシュタグとmeta_descriptionを送れるようにしています。
- iPad専用アプリ「CalcMemo iPad」を作成。
- 百均で700円で売っている「計算機と電子メモのセット」を無料で提供。ついでに取ったメモを画像化して保存可能です。
- iOS/iPadOS/Mac用アプリ「猫がゴロゴロ言い続けるアプリ」を作成。
- その名の通り猫のゴロゴロ音を永遠に聞けるアプリです。寝落ち用にタイマーと伏せた時に画面を消す機能があります。
- 常駐してワンクリックでGoogleCalenderを開く「Quick Google Calender」を作成。
- 単機能かつ他社プロダクト名をそのまま載せているので流石にAppStore申請が通らずWeb公開だけしています。
こんなのを作っていたんですが、今年に入って契約しているChatGPTのサブスクの中にCODEXが含まれるようになり、これが結構性能が良くて今色々プロダクトを進めているので、とりあえず開発専用のブログをキックオフする事にしました。
AI開発って?
CODEXと僕の相性が良く、AI開発がガンガン回る感じになっています。
僕はどっちかというと欲しいもののビジョンがはっきりしている方なのでバイブコーディングではなく
- ビジョンを書き出す
- それをAIに渡し、アプリを作るための要件定義を詰める(詰めるための質問をAIにさせる)
- 中で思いついたものは順次AIに伝え、どんどんドキュメントを更新する
- 物事の判断は都度ではなく「原則」で考える。可能な限り例外を避ける
- 判断基準や判断内容も含めどんどんドキュメントを更新する。
大事なのはゼロからドキュメントを見て作り直して「だいたい同じ物ができる」のを突き詰めること - 結局出来上がるのはすごい量の要件定義。だがガッチリ決まっているのでAIの出力もブレない
という感じの、要件定義を中心にドライブする感じにしています。これだと本当にブレがないので良いです。
これでガンガン回したいと思っていて、現時点で3つのプロダクト構想があるのでメモっておきます。
プロダクト1.マークダウンメモアプリ「Stray Cat」
マークダウンは便利ですし、Obsidianも便利なんですが、フォルダ運用していると問題があって、
- フォルダごと移動したいが移動すると相対リンクが切れる
- ObsidianはiOS/Macで同期しようとするとiCloud経由になるがWindowsでは不安定
ローカルで動いてクラウドに同期するのはいいが、安定して動かしたい - 可能ならフォルダに「伝票」というか、フォルダそのものに紐づくマークダウンをつけたい
みたいなニーズがあり、今要件定義しながら進めているのですが、これは上半期くらいの目標で完成しそうな進捗をしています。
基本的に開発は全て乗り換えを前提にRust+Tauriで組んでいます。
ここらへんは進捗や設計を話していければと思います。
プロダクト2.シェルフアプリ「Striga」
Macを使っていると「Yoink」や「DropOver」みたいなシェルフアプリってすごく便利なんですが、画像の多いサイトから画像を保存しようと思ってドラッグアンドドロップでシェルフに引っ張るとサイトによっては画像名がランダムで、いざ開いた時に整理ができない事があってすごく不便です。
そこで自分用のシェルフアプリの開発を始めました。機能として以下を搭載するように組み始めています。
- 起動で常駐、常駐領域のクリックでシェルフ展開。
展開方法に「ファイルのシェイク」「画面端へのマウス移動」「ホットキー」を搭載
シェルフは複数開けて別々の設定が可能 - ドラッグアンドドロップでファイルを「コピー」または「移動」可能
- 「コピー」または「移動」時、ユーザー指定のプレフィックス+指定桁数の連番でリネームが可能
- シェルフから出すときも「コピー」「移動」が可能
- シェルフ内をクリアする方法も存在
これにより、イン「移動」→アウト「移動」にすれば純粋のシェルフですし、イン「コピー」→アウト「コピー」なら安全にファイルを移動した後シェルフを消してインしたファイルも保存されます。
これに指定で「リネーム」をつければ、サイトから画像を引っ張ってドロップすれば連番で保存されるので散々ドロップした後散らかってわからなくなる事故が避けられます。
現時点では常駐、シェルフ展開、シェルフへの移動でコピーまでできているのであとリネームだけ入れればほぼ完成(最悪出すのは仮保存フォルダを開けば「自分でやれ」で終わるので)なんですが、公開用にもうちょっと絞ります。
プロダクト3.カレンダー&タスクアプリ「Quest Counter」
これは今日思いついてこれから要件を詰めるのですが、以下を一括で使いたいのです。
- Google Calnderを一覧で見る
- タスクをGTD基準で「Inbox」「End」「Someday」「Project」「Never」に分けてボックスごとにドラッグアンドドロップを可能にする
- デイリータスクとして設定したものが毎日出てチェックを入れられる
TickTickでやれ、という話なんですが、デイリータスクが欲しいのと、GTD基準でやるには専用アプリが欲しいのと、あとTickTickはカレンダーは有料なので無料でやりたいのです。
実はGoogle Calenderにただ乗りすると楽だと踏んでいて、タスクもGoogle Calenderで管理できるので(※ただし日付のないタスクは見えない恐れがあるらしい→じゃあ存在しない日付で0001/01/01とかにすればいい・未来の日付にすると管理が面倒なので)、恐らく画面を作ってデータを受け取って表示、操作に対してカレンダーなりタスクなりを動かせば行けるんじゃないかと思っています。
まあTclkTickでやれ(2回目)という話なんですが、自分で開発すれば勉強になるし、そもそもCODEXのもとであるChatGPTに課金しているのでその中でやりたいじゃないですか……。
(ちなみに3月22日現在別件でこのブログを書き換えているんですが、実はもうベータ版が完成していて粗を取って公開予定なのです。App Storeでは有料配布、Webサイトでは無料配布のつもりです!)
というわけで
というわけでキックオフなんですが、現時点で進捗が30%50%今着手、みたいな感じなので、開発サイクルをブン回しながらやっていこうと思います。
記事がありません
-
【開発】Quest Counter設計から一気に開発します。