https://yng87.page/blog/feed.xml

Claude Code で RSS/Atom フィードリーダーを作ってみた感想

2025-07-05

最近世の中の人々が熱狂している Claude Code で自分も遊んでみようと思い、とりあえずネタとして RSS/Atom のフィードリーダーを作らせてみたので感想を書く。

作ったもの

app screenshot semantic search

  • RSS/Atom フィードの購読をするための Web アプリを作った
    • 自分は普段 RSS で技術的な情報収集や趣味の合う人のフォローをしているが、既存のツールではなく自分用にチューニングされたものを作ってみたかった
    • 自分でコードはほぼ書かず Claude Code に指示をするだけという純正の vibe coding をした
    • Pro プランで利用したため、2,3時間使うと制限がかかり元に戻るのに数時間かかった
    • 休日や平日の夜に少しずつ作り、一週間くらいかけて概ねクラウドの VM 上でまともに動くものができた
  • 作った機能は
    • フィードをフォローし、新着記事の取得と既読管理を行う機能
    • AI による要約を自動生成する機能
    • 記事をベクトル化し semantic search できる機能。また検索結果の AI による要約機能
      • これはまだ全然作りこめていなくてあまり良い結果が返ってこない

技術的な中身

  • Next.js でフロントエンドを、FastAPI でバックエンドを作成
  • DBには PostgreSQL を、バックグラウンドタスクには Celery を使い、メッセージ broker には redis を採用
  • PostgreSQL は pgvector を使いベクトル検索ができるようにしている
  • 個人用の小規模なアプリケーションでスケーラビリティとか高可用性とかそういうものは要らないので、全て docker compose で起動して、一つの VM 上で動かしている

作ってみた感想

Claude Code のすごいところ

  • 概ね期待した通りに動作するアプリケーションが爆速でできる。色々とすごいところはあるがここに尽きる
  • RDB 周りの設計など、古典的な技術は強く、一発でそれなりのものが出てくる
  • フロントエンドも曖昧な指示をちゃんと良い感じの UI に変換してくれる
    • フロントエンドの知識が皆無なので、今まで一人でこの手のアプリケーションを作ることができなかったが、Calude Code によってハードルがぐっと下がった
  • Claude Code が自分で docker compose up -d をしてログを見て自力で修正するというのが結構上手くまわる
  • 作り直しが容易
    • 最初はあまり深いことを考えずローカルで sqlite で DB を作って、ベクトル検索は適当に duckdb を使い、ある程度固まったら Cloud Run で動かしていた。しかし、DBのファイルを GCS に置いて fuse マウントしていたため write で不整合が出たりして使い物にならなかったのでやめた
    • そのタイミングで一から設計を練り直すという指示を出し、とりあえず VM 一個で作れる安い構成ということで上記を採用した
    • 自分でコードを書いていないから捨てやすいし、新しい構成で書く時もなんとなく動くまでが早いので助かる

Claude Code の微妙なところ

  • 基本的にコード品質が低い
    • 設計が雑で、DB や外部 API に接続するクライアントをいたるところで生で触っている。Repository クラスなどに包んで抽象化してくれと頼むとその場ではやってくれるがすぐに忘れてしまう。
      • まあAIしか読まないならこれでも良いのかもしれない
    • FastAPI で同期と非同期が無秩序に混在する API を書いていた
    • ロジックの内部の深いところですぐに例外を握りつぶしてくる
    • ログメッセージが過度に装飾的(✅のような絵文字が大量に入ってくる)
  • クラウド環境にデプロイするのは詰まりがちだった
    • IAMの権限に原因があるのに一向に辿り着けていなかったり
  • フロントエンドのバグ修正はブラウザの操作が必要なので結構難航する

まとめ

Claude Code は趣味で何か便利なものを作ったり、業務でもチーム内だけで触る程度のデモアプリを作るのにはかなり役立ちそう。普段仕事ではバックエンドしか触らず知識もそこに偏っているので、ちゃんとブラウザで動くものを自分一人で作れるようになるというのは体験として印象的。

技術の進歩で、楽器を買ってメンバーを集めてスタジオで録音してCDに焼いたりすることなく音楽が発表できるようになったのと同じように、個人開発者の創造性を高めるツールだと思う。

しかし、長くメンテしていくようなコードベースを一から書かせるということにはまだ使えない。この辺りはモデルの進歩を待つとともに、 CLAUDE.md で指示を作り込んだり、MCP サーバーとうまく連携させたりしていくことが必要そう。

多少の開発の知識があれば自分専用のアプリを簡単に作れる時代になってきているなぁと思う。人々が紹介している tips を取り入れてもっと遊んでみたい。