※この記事は、Claude Codeで1人開発しているSNS運用SaaS「ThreadPost」の開発日記です。
スマホの画面から、僕の「財布」が消えた。
開発中のSaaS「ThreadPost」のクレジット残高を表示するヘッダー部分が、跡形もなく消え去っていた。犯人はClaude Codeだ。
「スマホのヘッダー、綺麗に収めておいて」
僕が投げた一言が、最悪の形で実行された。AIは人間が「そこだけは消しちゃダメだろ」と思う場所を、平気でoverflow-hiddenで握りつぶす。
これが今週、僕が直面した開発のリアルだ。
SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理まで全てAIにお任せ。
画面の半分を占領する「完璧な」ヘッダーの正体
今週の戦績は、数字だけ見れば効率化の鬼だった。
23件のコミット。4件の新機能。5件のバグ修正。
Claude Codeを使い倒し、APIコストを7分の1に圧縮し、マルチアカウント機能を一気に横展開した。普通ならチームで数週間かかるタスクを、僕は数日で終わらせた。
でも、その裏側では泥臭い「人間特有の執着」が爆発していた。
AIは動くコードを秒速で書く。でも、ユーザーがスマホを握りしめて「ボタンどこ?」と迷う瞬間の絶望には、驚くほど無頓着だ。
今週の全体像はこうだ。
- APIコストの破壊的削減:Gemini Proから3.5-flashへ。コストを85%カットした。
- 言葉のバグとの戦い:オンボーディングの離脱率を下げるため、1文字単位でUIの文言を磨いた。
- Xのアルゴリズムとの対話:Search Banを食らい、投稿頻度を「守りの設計」にシフトした。
- スマホUIの地獄:AIが勝手に消したヘッダーを、1px単位で僕が取り戻した。
効率化の裏には代償がある。今週、僕は「AIに任せられない領域」の解像度を嫌というほど上げた。
1/7のコストで手に入れた「思考停止」からの脱却
今週最大の成功は、僕の「思考停止」を認めたことから始まった。
僕はこれまで、ThreadPostの本文生成にGemini 1.5 Proを使い続けていた。「一番賢いモデルを使っていれば間違いない」と思っていたからだ。
でも、APIの請求書を見て背筋が凍った。1人開発のSaaSで、このコスト感は持続不可能だ。
そこで、Claude Codeに指示した。
「本文生成のモデルを、3.5-flashに書き換えて。品質が落ちないか検証用のドキュメントも作って」
結果は驚くべきものだった。
「perf: 本文生成を Pro→3.5-flash に変更 (品質ほぼ互角・コスト1/7)」
Gemini 1.5 Flashは、軽量・高速・安価が売りのモデルだ。正直、プロンプトの理解力や文体の細やかさでProに劣ると思っていた。
だが、実際に出力された投稿案を見たとき、僕は確信した。「これでいい。いや、これがいい」と。
品質スコアはProと遜色ない。なのに、コストは7分の1だ。SNSの投稿生成という特定のタスクにおいて、巨大モデルを使い続けるのはオーバーエンジニアリングだった。
しんたろー:
12件中8件が一発OK。残り4件はこっちの指示がクソだった。成功率67%。とりあえずProという甘えが、一番の赤字垂れ流しだった。
オンボーディングの「言葉のバグ」はAIには見えない
コストを削った次は、ユーザーの離脱を削る番だ。
ThreadPostのオンボーディング画面で、ユーザーが何をすればいいか迷っている形跡があった。Claude Codeに「UIのバグを直して」と頼んでも、こいつは「コードにエラーはありません」と返してくる。
違う。エラーがないことが問題なんだ。ユーザーにとって、意味が通じない言葉はバグと同じだ。
僕は、以下の修正を徹底的に叩き込んだ。
* 「アカウント連携」→「SNSアカウント(Threads/X)の連携」
* 「気になる記事を選んで」→「AIが毎日トレンドを自動収集。その中から1つ選んで」
* 「型」→「構文パターン」
「fix: 投稿パターンラベルを目立つバッジ化 + 案内文で具体例を提示」
AIはボタンがクリックできるかどうかは判定できる。でも、そのボタンに書かれた「アカウント連携」という4文字が、初めて触るユーザーにとって「どのサービスのアカウント?」という不安を呼ぶことまでは想像してくれない。
僕は、Claude Codeと二人三脚で、説明文を極限まで具体的に書き直した。「下の4人は架空のキャラクターです」という、たった1行の補足。これがあるだけで、ユーザーは自分の本番アカウントが勝手に動くわけじゃないと安心できる。
機能を追加するよりも、こういう言葉の微調整に時間を使うほうが、プロダクトの価値は上がる。AIが書いた完璧なロジックの上に、人間が安心という名の皮を被せていく作業。これが1人SaaS開発の醍醐味であり、一番しんどい部分だ。
しんたろー:
修正箇所は30箇所以上。AIに「もっと優しく、もっと具体的に」と100回くらい言った。最後にユーザーの心を動かすのは、コードじゃなくて言葉なんだよな。
Xのアルゴリズムという「見えない壁」に激突した日
開発が順調に進んでいた矢先、冷や汗が出る事件が起きた。
「threadpost_jp(公式垢)が Search Ban で停止」
原因は明確だ。AIが真面目に働きすぎた。SNS運用という人気テーマで、AIがリプライ候補を大量に生成。フォロワーがまだ10人しかいないアカウントで、1日に39件もの投稿をブチ込んでいた。
Xのアルゴリズムからすれば、これは紛れもないスパムだ。
「fix: Search Ban復帰に向け投稿上限を大幅減」
「fix: 連続投稿間隔を 1h→5h に拡大」
僕は急いでClaude Codeに指示を出し、守りのロジックを組み上げた。
* 1日の投稿上限を10件から3件に削減。
* 投稿間隔を1時間から5時間に拡大。
* ゴールデンタイムを避け、深夜〜早朝に投稿を集約。
自動化の恐ろしさは、アクセルを踏みすぎることに気づけない点にある。人間なら直感でブレーキを踏む場面でも、AIは設定されたターゲットに向かって全速力で突き進む。
守りの自動化こそが、アカウントという資産を守るための生命線だ。APIを叩きまくるツールを作っている人は、マジで気をつけたほうがいい。ブレーキのないAIは、ただの自爆装置だ。
しんたろー:
1日39件は、僕でもうざいと思うレベル。AIに空気感を読めと教えるのは無理だから、ガチガチの数値制限で縛るしかない。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後は完全放置でプロ品質の投稿を毎日生成。
落とし穴
スマホでThreadPostの「ポイント不足ダイアログ」を表示したとき、僕は絶句した。「必要ポイント」「現在の残高」「不足分」という、ユーザーが一番知りたい情報が、跡形もなく消えていたのだ。
Claude Codeに「スマホでヘッダーが画面を占有しないように、コンパクトにして」と頼んだ結果だ。こいつは、ヘッダーにoverflow-hiddenを適用し、はみ出した部分を物理的に切り捨てて「綺麗に収まりました!」と報告してきた。
実機で確認すると、ヘッダーの高さは59px。中身のコンテンツは72px。消えた13pxの中に、大事な残高が含まれていた。
「fix: ヘッダーの overflow-hidden を撤去して chip 行を表示」
さらに悪いことに、AIは「画面を占有しないように」という指示を忠実に守りすぎて、ヘッダーをshrink-0で固定。結果として、画面の半分が巨大なヘッダーで埋まり、肝心の商品リストが見えないという本末転倒なUIが出来上がっていた。
僕は、結局自分でCSSを1行ずつ見直し、Claude Codeに命じた。「overflow-hiddenを捨てろ。pタグとinline-spanの組み合わせに戻せ。パディングをpx-4に削れ」
AIは論理的に正しいコードは書けるが、デバイスを手に持ったときの視覚的な心地よさは1ミリも理解していない。スマホの数ピクセル単位の表示崩れ、指が届く範囲、文字の読みやすさ。こういう泥臭い調整のオンパレードこそが、プロダクトの信頼を作る。
結局、僕が張り付いてミリ単位の指示を出し続け、ようやく普通の画面に戻った。AI開発において、一番の落とし穴はAIが書いたコードを信じすぎることだ。
今日の数字
| 項目 | 実績値 | 比較・背景 |
| :--- | :--- | :--- |
| 総コミット数 | 23件 | 先週比 +150%。Claude Code導入後の最高値 |
| APIコスト削減率 | 85%減 | Gemini Pro vs 3.5-flash。品質は維持 |
| 投稿上限設定 | 1日3件 | 以前の1/13。Search Ban対策の守り |
| UI修正箇所 | 42箇所 | 言葉の微調整とCSS修正。全て手動指示 |
| 開発時間 | 18時間 | 企業なら3週間かかるマルチ垢展開を完遂 |
FAQ
Q: なぜProからFlashに変えても品質が落ちないと言い切れるのか?
Gemini 3.5-flashの出力結果を、既存のProモデルと40項目以上目視比較しました。SNS投稿のような短文生成では、モデルの巨大さよりもプロンプトの具体性が品質に直結するため、軽量モデルで十分です。
Q: Search Banを回避するための投稿間隔「5時間」に根拠はあるのか?
Xのアルゴリズム解析や他社のAPI運用事例を参考に、1日3〜5件の投稿を分散させるのが人間らしい挙動の最低ラインだと設定しました。初期アカウントでは短時間の連続投稿がスパム判定のトリガーになりやすいため、安全マージンを大きく取っています。
Q: 実機でのUIテストにおいて、AIが最も失敗しやすいポイントは?
CSSのflex-wrapやoverflowの挙動、特に動的にコンテンツ量が変わる部分での表示崩れです。AIはDOM構造の整合性は保ちますが、スマホの物理的な画面サイズにおける見切れを視覚的に検知できないため、最終的な目視確認は人間が必須となります。
最後に
AIに任せきりにせず、最後は人間が泥臭く磨き上げる。それがThreadPostの開発哲学だ。
オンボーディングの言葉ひとつ、スマホのヘッダー1px。その執着の積み重ねが、いつか誰かの使いやすいに変わると信じている。

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