しんたろーのITアカデミー
開発日記

Claude CodeにLPの嘘を全否定された。1人開発者が陥る「理想と現実」の乖離

Claude CodeにLPの嘘を全否定された。1人開発者が陥る「理想と現実」の乖離
しんたろーしんたろー
10分で読めます
この記事の内容(目次)

※この記事は、Claude Codeで1人開発しているSNS運用SaaS「ThreadPost」の開発日記です。

SNS運用を自動化しませんか?

ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。

無料で始める

「お前のLP、嘘書いてるぞ」

Claudeにそう言われた。深夜3時を過ぎた頃だ。

開発者が直面する「理想と現実」の乖離を抽象化したビジュアル
開発者が直面する「理想と現実」の乖離を抽象化したビジュアル

「営業DM一切なし」という文言が、機能として何も担保されていない。CTAのテキストが場所によってバラバラ。参加者数の表示が静的な数字のまま。僕が「完成した」と思っていたLPは、Claude視点だと穴だらけだった。

今週じゃなくて今日の話

今日1日で37コミット。新機能3件、バグ修正1件。

数字だけ見ると悪くない。でも中身を見ると、半分以上がLPの「言葉と現実のズレ」を埋める作業だった。機能を作ったんじゃなくて、自分が書いた嘘を消した1日だ。

深夜1時。PDFを30枚作った男の話

午前1時34分。最初のコミットは「Implement SNS Automation PDF design v2」だった。

収益化ガイドのPDFを作っていた。テキストだけのPDFは離脱されやすい。視覚的なアンカーを打ち込まないと読了率が落ちる。だから画像を埋め込む。

最初は11枚だった。気づいたら合計30枚以上の画像をPDFに埋め込んでいた。

しんたろーしんたろー:
画像生成スクリプトを書いた。1枚ずつ手で作ってたら今ごろ朝になってた。スクリプト化で0秒になった。ただし「どんな画像を作るか」を考える時間はゼロにならない。そこだけ人間がやる。

PDFのレイアウト調整はしんどい。7ページ目のはみ出し修正、フッターのページ番号統一、印刷CSSの調整。コミットメッセージが「PDFフッター・レイアウト改善」「PDFページ全体のレイアウト調整(文字切れ修正)」「第1章まとめのデザインを元に戻す」と続いている。

最後の「元に戻す」が全てを物語っている。やって、壊れて、戻した。ソフトウェア開発の縮図だ。

タイトルも途中で変えた。「30万フォロワー」から「1万フォロワー」に。理由はシンプル。30万という数字が現実と乖離していたからだ。

「ユーザーが離脱するポイントを潰せ」と頼んだら、自分が書いた嘘が出てきた

午前3時19分。コミットメッセージは「LP改善 - CTA統一・フローティングCTA・『なぜ無料か』追加」。

その9分後、3時28分のコミットメッセージが「LP改善 - CTA統一・フローティングCTA追加・嘘の削除」になっている。

Claudeへの指示は一言。「ユーザーが離脱するポイントを潰せ」。返ってきたのは機能の提案じゃなかった。

  • CTAのテキストが場所によってバラバラ
  • 「なぜ無料か」の説明がどこにもない
  • 参加者数の表示がリアルタイムじゃない
  • 「営業DM一切なし」という文言が、機能として何も担保されていない

最後の指摘が刺さった。「営業DM一切なし」と書いていた。でも実際には、それを保証する仕組みは何もなかった。Discordコミュニティに入ってきた誰かが営業DMを送っても、技術的に防ぐ手段がない。

これは「価値が伝わっていない」問題じゃなくて、「嘘がある」問題だった。

しんたろーしんたろー:
「価値が伝わってない」と「嘘がある」は全然違う問題。前者はコピーを磨けば解決する。後者は機能か文言を変えないと解決しない。今回は後者だった。

修正は一気にやった。「営業DM一切なし」を削除。「参加無料・退出自由」だけ残す。CTAテキストを「ぽすたまタウンに参加する(無料)」に全ページ統一。Discordの参加者数をリアルタイム取得に変えた。

ここまで読んだあなたに

今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。

無料で始める

落とし穴:Vercelが自分自身と話しようとして沈黙した

Discord参加者数のリアルタイム表示は、最初APIを叩くだけのはずだった。Server ComponentからAPIルートを呼んで、そこからDiscord Bot APIを叩く設計。動かなかった。

Vercelのサーバーレス環境では、Server Componentが自分自身のAPIエンドポイントを呼ぶ「自己参照フェッチ」が失敗する。コールドスタート時のネットワーク制限や、関数実行のタイムアウトが絡む。ローカルでは動いていた。本番環境で動かない。

APIエンドポイントを経由せず、Server ComponentからDiscord APIを直接叩く方式に切り替えた。5分間のキャッシュも追加してAPI制限を回避する設計にした。

しんたろーしんたろー:
「自己参照フェッチが失敗する」ってエラーメッセージが出るわけじゃない。ただ何も返ってこない。ローカルで動いてたから気づくのが遅れた。Vercelで動かしてみて初めてわかる問題がある。

「誘導するボタン」が「迷子にする壁」になっていた

モバイルユーザーのためにフローティングCTAを設置した。画面下部に常時表示されるボタンだ。実装して確認した。PCでは問題なかった。

モバイルで開いたら、フッターの一番下のリンクがクリックできなかった。フローティングCTAがフッターの上に被さって、コンテンツを隠していた。フッターに「pb-24」を追加して下部パディングを確保する修正をした。

モバイルファーストの設計では、固定配置要素と他のUI要素の衝突は頻発する。特にフローティングCTA、固定ヘッダー、チャットウィジェットが同時に存在する場合、z-indexとpadding/marginの計算が複雑になる。確認する指示を出してなかったのは僕だった。

今日の数字

| 項目 | 今日 | 比較 |

|------|------|------|

| 総コミット数 | 37件 | チーム開発なら複数人で分担する量 |

| 新機能 | 3件 | — |

| バグ修正 | 1件 | — |

| PDF画像生成 | 30枚以上 | 手動なら1枚あたり15分以上 |

| 作業時間帯 | 01:34〜20:47 | — |

| LPから削除した嘘 | 1件 | 1件で十分すぎる |

今日の開発成果を可視化したミニマルなインフォグラフィック
今日の開発成果を可視化したミニマルなインフォグラフィック

PDF画像の話を深掘りする。手動で画像を1枚作って、サイズを調整して、PDFに埋め込む作業は、一般的に1枚あたり数十分かかる。スクリプト化することで、この作業は「スクリプトを走らせる」だけになる。30枚分の差は大きい。

企業開発でLPのコピーを修正する場合、マーケティング、法務、開発の確認フローが必要になる。今日は気づいてから数時間で修正した。これが1人開発の速度だ。意思決定のコストがゼロ。

FAQ

Q: PDFに30枚以上の画像を埋め込む必要はあるの?

テキストだけのPDFはスクロールを止めるアンカーがない。視覚的な区切りがないと、読者は「どこまで読んだか」を失いやすく、離脱率が上がりやすい。今回は画像生成スクリプトをパイプラインに組み込んだので、30枚でも追加コストはほぼゼロだ。

Q: 配信スケジュールを削減したのはなぜ?

毎日配信は運用が破綻すると、コンテンツの質が落ちてコミュニティ全体の信頼が下がる。週1〜2回の高品質な配信の方が、毎日の低品質な配信より長期的なエンゲージメントを維持しやすい。今回はエンゲージメントが高い時間帯にリソースを集中する設計に切り替えた。

Q: JST基準の時刻修正でハマった理由は?

Vercelのサーバーレス環境はデフォルトでUTC動作する。new Date()でローカル時間を取得しようとすると、日本時間との9時間のズレが生じる。今回は配信メッセージの取得処理がUTCで動作し、メッセージが見つからなかった。getJSTNow()を使ってJST基準で計算する方式に変更して解決した。

今日を一言で

嘘を消す1日だった。自分のLPに自分で嘘を書いていたことに、AIに指摘されるまで気づかなかった。「完成した」という感覚は、主観でしかない。

あなたのプロダクトのLP、今の機能と本当に一致していますか?

👉 ThreadPostでSNS運用を自動化する

ThreadPost — SNS投稿をAIが自動化

この記事が参考になったら、ThreadPostを試してみませんか?投稿作成・画像生成・スケジュール管理まで、AIがサポートします。

無料で始める

この記事をシェア

XはてブLINE
しんたろー

ThreadPost開発者・個人開発エンジニア

AI × SaaS個人開発者。Cursor / Claude Code を使った効率的開発、SNS自動化について実体験から発信。

人気の記事