Show HN: 「Claude Code」を使った書棚のコーディング
108日前原文(balajmarius.com)
概要
- 大量の蔵書管理が困難になった経緯と課題
- AIエージェント活用で実現した自作書棚プロジェクト
- データ収集・整形・UI構築の具体的な手順と工夫
- 人間の判断・センスが果たす役割の明確化
- AI時代の実行力と審美眼の価値についての考察
蔵書管理の限界と葛藤
- 所有書籍数が500冊を超えた時点で、記憶による管理が困難化
- スプレッドシートなど単純な方法も「面倒さ」で未実施
- 実行と意図のギャップがプロジェクトを停滞させる主因
- AIエージェントの登場で「実行の壁」が低下
- 自分の役割が「実行」から「判断」へ変化する転機
既存ツールの限界
- ISBNスキャナーアプリはローカル版や古書で失敗
- Goodreadsなどもマイナー出版社や珍しい書籍に非対応
- 不完全なデータが逆にストレスとなり、作業の中断を招く
- 必要なのは「不完全さを許容できる仕組み」の構築
データ収集とAI活用
- まず**全書籍の写真(470枚)**を撮影しPCに保存
- 画像ファイルのリネーム・変換など前処理を自動化
- AIによりOpenAI Vision API経由でタイトル・著者・出版社を抽出
- 約90%の精度で自動抽出、残りは手作業で修正
- 追加書籍も同パイプラインで簡単に反映可能
表紙画像の取得と工夫
- メタデータは整ったが、表紙画像は未取得
- Open Library APIでカバー画像取得→半数が低品質・不一致
- SerpAPI経由Google画像検索で不足分を補完
- 10冊のみ手作業修正、大半は自動化で対応
書棚UIの再現と進化
- 最初は表紙グリッド、だが無機質で物足りない
- 本棚らしさは背表紙のランダムさ・色・厚みにあると再認識
- 背幅はページ数から自動算出、色も自動抽出し可読性も確保
- 実物本棚の質感をWeb上で再現する工夫
アニメーションと体験の追求
- 静的な表示に違和感、Framer Motionで背表紙の傾きアニメ追加
- 最初は「動きが不自然」→AIの指摘でrender cycle外アニメに修正
- アイデア試行コストの低下で細部までこだわれるように
不要な機能の削除と取捨選択
- 無限スクロールを実装→体験悪化で削除決断
- 「動くコード」でも「不要なら消す判断」は人間の役割
モバイル対応とUIの多様化
- デスクトップでは満足も、モバイルでは横スクロールが不便
- 縦積みスタックビューをAIに指示し即実装
- アニメ・色・データ構造も流用、説明不要の完成度
人間の役割とAIの実行
- コードはClaudeが執筆・実装
- 自分は「90%で良しとする判断」「手作業修正」「UI選択」「不要機能削除」などセンスと決断を担当
- 実行コスト低下で、より「審美眼」や「判断力」が価値を持つ時代へ
AI時代の実行とセンス
- 実行はAIが担う時代、人間は「何を良しとするか」を決める役割
- 書棚プロジェクトは、AIと人間の最適な分担の象徴
- 手作業時代の感覚が過去のものに感じられるほどの変化
- 実行コストは下がるが、センスの価値は変わらないという実感