Keryxというアプリを公開しました。 まだα版ですが、必要な機能は一通り揃っています。
なにこれ?
フィードリーダーです。 特徴は以下の通り(READMEより抜粋)。
- マルチデバイス同期: クラウドストレージ経由(Dropbox / Google Drive)
- ローカルファースト: 中央サーバーなし、同期機能を使わなければローカルで完全に動作
- 高速なローカル全文検索: 記事本文・タイトルを対象に、キーワードで瞬時に検索
- タグ・フォルダーによるフィード整理: タグは横断的に複数付与、フォルダーは階層的に分類
- RSS 2.0 / Atom 1.0 対応: RSS 1.0/RDF も緩く解釈
- OPML インポート・エクスポート: 他の RSS リーダーとの相互移行・バックアップに対応
- 完全無料: フリーミアムなし、試用期間なし、広告なし
- オープンソース: ソースコードが公開されており、誰でも検証・改変可能
対応プラットフォーム
現時点ではmacOS版しかダウンロードできませんが、内部的には Window / Linux (.deb, .rpm) 用のパッケージも作成できるように作っています。
JVM上で動くのでどのプラットフォームでも動作するはずですが、macOS以外で動作確認できていないのでmac版パッケージしか用意していません。
近いうちにLinux版の確認をします。
最終目標は Windows / macOS / Linux (.deb, .rpm) / Android / iOS / iPadOS といったOSに一通り対応することです。
ダウンロード・インストール
GitHubのReleaseページのAssetsから、対応するプラットフォームのパッケージをダウンロード・インストールしてください。
macOS版パッケージはまだ署名・公証していないので、そのまま起動すると以下のようなメッセージが出ることがあります。

マルウェアは含まれていないので安心してほしいんですが、このままだと何回やっても起動できないので「システム設定」→「プライバシーとセキュリティ」→「セキュリティ」セクション→「“Keryx”がブロックされました」というメッセージの横の「このまま開く」をクリックして下さい。

正式版(v1.0.0)を出すときにはちゃんと対応します。
今後の開発予定
これもREADMEの情報ですが、主な開発予定は以下の通りです。
あとはUIの改善や、安定化・高速化・軽量化など。
技術的なおはなし
ここからはちょっと技術的な話を。 興味のある方はもう少し読んでいってください。
開発の経緯
NetNewsWireというフィードリーダーがあります。 使いやすく、デバイス間同期にも対応しているのでとても人気がありますが、Appleデバイスにしか対応していません(同期はiCloud経由)。
個人的には最近はほぼAppleデバイスしか使っていないのでこれでもあまり困っていない&実際に愛用しているんですが、たまにLinuxを使うことがあるのでLinuxでも使える(同期できる)ものがほしかったのです。
過去にもFlipboardやLifereaやRSS Guard、Alligator、Akregatorといったフィードリーダーを色々試してきましたが、特に同期周りであまりしっくりくるものがなく、マルチプラットフォーム対応のNetNewsWireみたいなものがあればいいのになぁ、おっし作ろうと思い立ちました。
というわけで、KeryxのUIもNetNewsWireに近いです。
フレームワーク
フレームワークにはKotlin Multiplatform(KMP)を使っています。
今はマルチプラットフォーム対応のフレームワークはQt, Flutter, React Native, Uno Platform, Electron/Tauriなど選択肢がたくさんあるいい時代ですが、配布ファイルのサイズやアプリの速度、UI(なるべくOSネイティブなUIコンポーネント)などの条件がつくと選択肢が極端に限られます。 また、各プラットフォームの対応状況(安定・実験レベルなど)もそれぞれ異なります。
最初はFlutterで作っていましたが、途中でUIを重視してKMPに書き換えました。
現在はまだKMPの独自コンポーネント(Compose Multiplatform)で描画しているので微妙にネイティブ感がありませんが、今後スマホ対応するときにWindows/Linux以外はネイティブUIに全面的に移行予定です。
リリースまでの流れ
- 6月中旬: アプリの計画(サービス設計・外部設計・フレームワーク検討など)
- 6月下旬: Flutterで初版を作成〜最低限の機能を作成
- 7月上旬: KMPで書き直し
- 7月19日: v0.1.0リリース
開発
サービス設計にはChatGPT、コーディングにはClaude CodeとさくらのAI Engineと、AIを全面的に使っています。
AIのおかげで開発速度が爆速になったのはもちろんのこと、ドキュメント整備や多言語化のハードルも大幅に下がっています。 いやマジでいい時代。 何よりもアイコンなどのデザインを任せられるのは絵心ない芸人としてはとってもありがたいのです。
ローカルで動くだけなら7月上旬ごろにあらかたできていましたが、細かい不具合の修正やUX改善、CI/CDなどの設定にしばらく時間を使いました。
あとは非機能要件(想定されるデータ量やそれに基づく計算量など)の洗い出しやバグが出たときの対応が不十分だったり、クラウドとの同期やマージのアルゴリズムもAIが提案してきたものに穴があったりします。 そこはエンジニアリングの知識や「もしかして現在内部でこういう処理をしてたりしない?」みたいな洞察がまだ必要です。
AIの発展が激しすぎるので、そのうちこういうことも人間の出る幕がなくなるんでしょうか・・・