LLR完成
Like Live RSSReaderが完成した。構想だけはでっち上げていたものの、自分の技術力(と時間)が足りなくて出来なかったが、LLMという強力な武器を手に入れることで、クソザコ開発者でも自分が思い描いていたWebサービスを構築できるようになった。非常にありがたい話です。
始め方
opmlファイルをドラッグ&ドロップで落とすか、フィード管理から新たにRSSを追加して使いはじめることができる。
操作方法
PCの場合、キーボード操作でほぼできるようになっているので、まずは「?」キーを押下して欲しい。そこに操作の主な説明が載っている。基本的には、Vimのキーボード操作に準拠していると思っていただければいい。
開発に関して
今回は、Gemini CLIとCodex CLIの2つを駆使して、開発を行なった。プロンプトに関しては、document/prompt.mdに記載した。もし、新たに何かを作ろうとしてる人の参考になればと思っている。
技術選定に関して
サーバに何かデータを残すという事はなるべくしたくなかったので、クライアントサイトでほぼ完結するアプリを作ることを考えた。RSSの総量も2000とか3000フィード読んでいる人は現代ではほぼいないと考えて、IndexedDBで充分にまかなえると考えて、設計。最初はPCオンリーで動かす事を考えたが、開発中にスマホでもRSSよみてーなーと思って、最後の最後でスマホで読める最低限の機能を取り付けた。
また、ホスティング先としてcloudflareを選定。最初は、Next.jsのフレームワークで作成していたが、機能的にはHTML+edge serviceで開発可能だと気がついたので、その点で負荷がある程度増えても無料枠でまかなえるcloudflareが良いなということで、一気に作り変えた。それに伴い、Next.jsはやめてビルドツールをVite8.0にした。最新の技術に触れたいなという気持ちもあったが、やっぱりViteはすごい優秀。ビルド速度がえげつない。Next.jsはオールインワンで作れるが、例えば今回作ったようなRSSを読み込むという単機能=マイクロサービスと組み合わせるようなシンプルなサイトならば、Viteに軍配が上がる。
バックエンドの機能に関しては、プロンプトに書いてるんだけれど、
では、プロジェクトを分けましょう。バックエンド処理に関しては、新たにレポジトリを作成してcloudflare workersで起動するような設計にしたいです。最初にそういう指示を出すためのmarkdownをdocument/backend.mdに出力してください。
それのmarkdownファイルを元に、新たなレポジトリを作成します。
というようなプロンプトをぶん投げて、これを元に新たにbackendを構築した。こういうのは人間が細かく考えるよりも、標準的な技術でさっくりやってくれるのでありがたい。ただ、backendの開発をする際に、フレームワークとしてHonoを使うようにという指示は出した気がする(ドキュメント残してない)。cloudflareとHonoはとても相性が良いのと、あらゆるベーシックな機能はHonoだけで充分なので、もしcloudflareでバックエンドを組むことを考えている人はHonoの使用をオススメする。
最終的に、Cloudflare Pages + Cloudflare Workersの構成に自分のサブドメインを刺して、LLRは完成することとなった。Livedoor Readerの後継として作った割にはショボいのだが、僕の使い方的にはこれで充分。何より、サーバ側での処理がほぼ無いというのがめちゃくちゃに便利だし、RSSで情報のIndexを拾ってくるあの感覚を思い出せて良かった。ブログごとに情報の配信内容は全然違うのだが、全文配信しているブログはなるべく見れるように修正したつもりではある。やはり、RSSリーダーだけでブログをさっくりと読める環境が構築出来たのは良いし。何より、歴戦のブログを書き続けている異常者たちのテキストからしか得られない栄養がある。僕もその異常者の一人です。
今後の展望
まず、作り込みたい機能は全部つくり込めたので満足。今後対応するとしたら
- ダークモードの対応
- 死んでいる(or 非表示にしてる)ブログサイト(例:
ランカー・リーオフィシャルブログPCサイトで見れないだけだった。livedoor blogェ……)の検知機能 - OPMLファイルの読込対応(現在はTop30のみ対応)
- アカウント連携(今はブラウザ毎にしか表示していない)
あたりの実装になるかなと思っている。これに関しては、気が向いたら開発するかもしれない。 自分で使ってみて、アカウント連携はもしかしたら作る可能性が高いかもと勝手に思っている。OPMLファイルはGoogle Driveに格納するとかそういうイメージで、基本僕のサービスは何も預からないイメージで作りたい。作りたいが、そこまでやるとなると、色々なドキュメントを作ったりしなきゃいけなくて面倒だなと思っている自分がいる。誰かドキュメントを生成するプロンプトください。

コメント
コメントを投稿