最低限の機能を備えた自分専用のアプリを作ればいい、と考えることが最近増えてきた。

Webサービスにしたいわけではない。昨今の事情を考えると、IFは極力Publicに公開したくない。なので、クラウドにデプロイする必要すらない、自分のローカル環境で静かに動けば十分なレベルのアプリだ。どうしても残したいステートがあるなら、既存のクラウドストレージに放り込んで、アプリからステートを復元できるようにすればいい。

こう考えるに至った背景

これまでSaaSや市販ソフトウェアをたくさん使ってきた。もちろん今でも使っている。これらのソフトウェアを自分でゼロから作るのはあまりに面倒だし、そもそも個人レベルでは作れないものもある1。なので、サブスク代を払ったほうが良いケースが大半だった。

作るのが面倒なものの1つに動画編集ソフトがある。内部の仕組みや実装が想像できたとしても、自分でスクラッチで書こうなんてこれまでは全く思わなかったし、無料ならiMovie、有償ならPremiere Proなどを選べばやりたいことを実現できる。

でも、自分の動画編集のユースケースを振り返ってみると、市販ソフトの機能の10%、Adobe製品に至っては1%も使っていないことに気づく2。

私の場合は、再生回数を気にする作り込んだ動画じゃなくて、大学の授業向けの動画が作りたいだけだ。そうなると、必要な機能は、キャプチャした映像をプレビューしながらトリムして、音量調整して、書き出すぐらいだ。高度なエフェクトも、複雑なレイヤー合成も自分には必要ない。

市販のソフトウェアはあらゆるユーザーの要求を満たすために多機能化している。機能が増えるので価格も上がっていく。だからコスト負担は増える。生成AI以前は存在しなかったAIサブスクも増えていることもあり、ランニングコストが積み重なっていく。ただAIサブスクはもはやインフラと同等レベルの必要性があるので、これは切れない。でも節約できるところは節約したい。

ということで作っているもの

そんな中、AIコーディングの性能が超速で進化してきた。おかげで、自身のユースケースの結構な部分を自作アプリでカバーできることが増えてきた。たくさんあるのだけど、ここでは3つほど紹介する。

動画編集アプリ

先ほど例に挙げた動画編集アプリも作ったものの1つだ。Macであれば無料のiMovieでももちろん良いが、それでもやや機能が多く、また細かいUI操作で摩擦を感じるところがある。なので、Mac用のNativeアプリをミニマム機能で作って運用している。ショートカットはPremiere Proと揃えてある。手が慣れてしまっているので。

アプリの作り方はシンプルに、What(仕様)をプロンプトで伝えて、/goalで放置しておけば良い。WhatのプロンプトもAIで考えてもらえば良い。不明点だけ最初にAIから質問してもらうようにすると作りたいものの精度を上げやすくなる。

なおAIコーディングで作っていると、機能だったりUIだったりをAI側で勝手に追加してくるので、スクショを添付しながら「このViewは不要」とガシガシ削っている。必要最低限のアプリが欲しいため。

RSSリーダー

もう1つ、自分で作る良さを特に実感しているのが個人用RSSリーダーだ。これもNativeアプリ。

RSSリーダーは、古くはGoogle ReaderやLivedoor Readerがあり、今もFeedlyなどがある。しかし、既存のサービスは多機能だったり、反対にやや足りなかったりする部分もある。

そこで、AIコーディングを活用してスクラッチで作っている。実際に使いながら「ここをもう少しこうしたい」とフィードバックを与えてアプリを改善していくと、わずか数日で自分にとってちょうどいいRSSリーダーが仕上がっていく。他の人からはおそらく相当使いにくいんだけど、自分のワークフローだとピッタリになる。

Chrome拡張

Webページの見た目や挙動を書き換えたいとき、これまではTampermonkeyのような汎用スクリプト実行ツールを使うのが定番だった。ただ、自分がカスタマイズしたいのはわずか数サイトで、やりたいのも限られたことなのでもっとシンプルで良い。

なので、頻繁に訪れるWebサイト専用のChrome Extensionを作っている。例えばAmazonやX(旧Twitter)の画面は、自分が操作しやすいように機能を削ったり、あるいは追加したりしている。

「DOM構造が変わったら動かなくなるのでは?」という懸念もあるかもしれないが、今のところ困っていない。仮に表示が崩れても、「〜のDOM構造が変わったみたいだから修正して」とお願いしておけば直る。SPAに近い挙動のWebサイトだったとしても、一度ブラウザで表示して、該当部分をInspect ElementしてそのDOMを伝えてあげれば良い。

おわりに

ここまでで取り上げたアプリは別にOSS公開する予定はない。なくなったら困るので、個人のPrivate Repoにソースコードだけ保存している。

というわけで「作るのが面倒なので機能は過剰だけど買う」という時代から、「市販のアプリが備える機能のうち、自分に必要な1%の機能だけをAIで作る」時代になってきている。難しいと思っていたものも意外と作れるので、とりあえず作ってみるのも良いと思っている。

  1. ChatGPTやClaudeを、この性能で、この価格というのはローカルLLMではまだまだ厳しい。 ↩

  2. Premiere Proの画面を開いたことがある人ならわかるかもだけど、あのUIを使いこなせる人はすごい。 ↩