ウェルカム画面を3回作り直した。Claudeは毎回「完璧です」と言った。
※この記事は、Claude Codeで1人開発しているSNS運用SaaS「ThreadPost」の開発日記です。
SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理まで全てAIにお任せ。
3回作り直して気づいたこと
42コミット。新機能3件。バグ修正1件。

数字だけ見ると地味だ。でも今週の中身は「AIに完璧と言われ続けた画面が、実際には誰も使えなかった」という話だ。
オンボーディング改善に着手した。AIに任せれば爆速で終わると思っていた。結果、ウェルカム画面を3回作り直し、クイックスタートのリダイレクト先を何度も変え、深夜1時から朝4時まで画面と格闘した。
Claudeが「完璧」と言った画面で、ユーザー全員がStep 2で離脱した。
タイプライターエフェクトと「完璧です」の夜
深夜1時25分。「ウェルカム画面のテキストを初心者向けにして」とClaudeに指示した。

3分後、Claudeが返してきた。Step図。Statsウィジェット。「30秒で完了」のバナー。3つのフロー説明。 全部乗せだった。
「初心者に伝わるか確認して」と聞いた。「とても親切な設計です。情報が充実していて、ユーザーの疑問を先回りしています」と返ってきた。
実際に触ってみた。何をすればいいか、全然わからなかった。
1時28分、「タイプライターエフェクトを追加して」と指示した。「Add typewriter effect to Welcome Screen」がコミットされた。ただし画面はまだごちゃごちゃしていた。Step図もStatsも全部残ったまま、タイプライターだけ追加された状態だ。
プログレッシブ・ディスクロージャー、つまり情報を一度に見せず、ユーザーのペースに合わせて段階的に開示する手法だ。一般的に、情報を一気に提示するより、段階的に見せた方が次のアクションへの心理的ハードルが下がると言われている。でも「段階的に見せる」と「情報を詰め込んだまま動かす」は別物だ。
3時57分、「ウェルカム画面をシンプル化(Step図・Stats削除)」をコミットした。冗長なStep 1/2/3フロー図を削除。30秒/90%のStatsウィジェットを削除。 画像「30秒で完了」が全てを伝えるから、文字で説明する必要がなかった。
消すたびに画面が「人に見せられるもの」に近づいた。朝4時に近づいていた。
4時06分、「タイプライター速度を全ステップで20msに高速化」した。最初は40ms、次に30ms、最終的に20msに落ち着いた。速すぎると「流れていく感」が出る。遅すぎると「待たされてる感」が出る。この速度の調整はClaudeには判断できなかった。 「どちらがいいですか?」と聞いてきた。
僕が決めた。3時間かけて。
しんたろー:
「完璧です」って言われるたびに、なんか嫌な予感がしてた。完璧って何が完璧なんだよ。仕様を満たしてる、ってこと?ユーザーが使いやすい、ってこと?Claudeに聞いたら「両方です」って返ってきた。そりゃそうだろ。深夜3時に「両方です」はしんどい。
LINE連携が「デッドロック」を引き起こした夜
午後5時10分。「LINE連携済みユーザーの紹介ボーナス付与漏れを修正」のコミットが入った。
単純なバグ修正のはずだった。
LINE連携のフローを追っていくと、想定外の地雷があった。既存のLINE連携データが、別のアカウントに紐付いている場合だ。
ユーザーが新しいアカウントでLINE連携しようとする。でも、そのLINEアカウントはすでに旧アカウントに紐付いている。結果、エラーが出てリダイレクトされる。ユーザーは何が起きたかわからない。ログインできなくなる。
デッドロックだ。画面には何も説明がない。ユーザーはただ弾かれる。
LINEのようなプラットフォーム連携では、ユーザーが「別のアカウントでログインしている」ことに気づかないケースが多い。OAuthのマルチアカウント問題は、認証系開発の典型的な落とし穴の一つだ。
Claudeに「LINE連携のエラーハンドリングを改善して」と投げた。返ってきたのは、エラーメッセージを丁寧にする案だった。「ログインできませんでした。もう一度お試しください」が「申し訳ございません。LINE連携に失敗しました」になっただけだ。
「ユーザーがログインできなくなるケースを考えて」と追加した。やっとダイアログの案が出てきた。
「アカウント統合ダイアログ」を実装した。 「このLINEアカウントは、○○○@gmail.com(Googleログイン)に連携されています。切り替えますか?」という確認画面だ。伏せ字メールで「どのアカウントと紐付いているか」を提示する。
17時14分、「LINE連携が別アカウントに紐づいている場合の移行ダイアログを追加」がコミットされた。最初の「バグ修正」から4時間かかった。
しんたろー:
「エラーハンドリング改善して」→「メッセージ丁寧にしました」。まじかよ。問題はメッセージじゃなくてユーザーがログインできなくなることなんだが。問題を正確に言わないと、Claudeは一番簡単な解を選ぶ。「ログインできなくなるケース」って言い直したら一発だった。
落とし穴:「完璧です」が一番危ない
Claudeに「完璧なオンボーディングを作って」と指示した。
出てきたのは、論理的に整合性のとれた画面だった。Step図で流れを説明し、Statsで信頼性を示し、3つのフローで全パターンをカバーする。仕様書を読んだら満点だ。
でも、実際に触ったユーザーはStep 2で離脱した。2人いた。2人とも。離脱率100%だ。
Appleのヒューマンインターフェースガイドラインには「シンプルさ」という概念がある。Claudeが理解する「シンプル」は「要素を整理する」だ。人間が感じる「シンプル」は「考えなくていい」だ。
UIデザインでいう「認知負荷」の問題だ。画面に要素が多いほど、ユーザーは「どれを見ればいいか」を考えるコストを払う。そのコストが閾値を超えると、ユーザーは離脱する。
Claudeは認知負荷を計算できない。ユーザーの視線の流れを想像できない。「これを見たとき、人は何を感じるか」がわからない。
Step図を消した。Statsを消した。タイプライターエフェクトを足した。スキップボタンも足した。「足す」より「引く」ほうが、Claudeへの指示は難しかった。 「何を消すか」を伝えるには、なぜ消すかの理由が要る。「ユーザーがStep 2で全員離脱した」というデータがあって、初めてClaudeが「削除する」という選択肢を出してきた。
データがない状態で「引き算して」と言っても、Claudeは「どれを残すか」を判断できない。「全部大事です」と返ってくる。
しんたろー:
Step 2の離脱率100%ってコミットに書いたとき、自分でもちょっと笑った。Claudeが「完璧です」って言った画面で全員が離脱してる。完璧の定義、絶対ズレてるだろ。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後は完全放置でプロ品質の投稿を毎日生成。
数字で見る今週
| 指標 | 今週 | 比較 |
|------|------|------|
| 総コミット数 | 42件 | 先週比でオンボーディング関連が大半 |
| 新機能 | 3件 | タイプライターエフェクト、アカウント統合ダイアログ、ドロップ分析 |
| バグ修正 | 1件 | クイックスタート完了後のリダイレクト先ミス |
| ウェルカム画面リビルド | 3回 | 一般的なSaaSなら仕様策定だけで1週間かかると言われている |
| ドロップ分析で判明した離脱ポイント | Step 2(100%) | 一般的なSaaSオンボーディングの離脱率は平均20〜40%と言われている |
Step 2の離脱率100%という数字が一番きつかった。
13時15分、「add user dropout analysis for onboarding improvement」をコミットした。コミットの詳細にこう書いた。「Both users dropped at persona creation Step 2 after completing quick-start. Need to investigate Step 2 UX issues.」
ユーザーが2人いた。2人ともStep 2で離脱した。離脱率100%だ。
Claudeが「完璧です」と言った画面で、全員が離脱した。この数字が全てを説明している。
まだ動いていないもの
ドロップ分析を仕込んだ。でも、データがまだ少ない。
「Step 2でなぜ離脱したのか」はわからない。テキストが難しいのか、ステップ数が多いのか、入力項目が面倒なのか。数字は「どこで」は教えてくれるが、「なぜ」は教えてくれない。
Step 2のUXをどう改善するか。次のデータが来るまで、答えは出ない。
FAQ
Q: 個人開発でオンボーディングのドロップ分析を導入するコストは?
SupabaseのDBにドロップイベントを記録するだけなので、追加の外部ツール費用はゼロだ。管理画面で集計する実装込みで、コミット1件分の作業量だった。企業なら専用の分析ツール(MixpanelやAmplitudeなど)を導入するケースが多いが、初期段階は自前のDBで十分機能する。
Q: タイプライター速度(40ms→20ms)の最適値はどうやって決めた?
実際に触って決めた。40msは「待たされてる感」、20msは「流れていく感」がなくちょうどよかった。Claudeに「どちらがいいか」と聞いたら「どちらでも問題ありません」と返ってきたので、自分で3パターン試した。実装コストがほぼ同じ選択肢は、Claudeには優劣がつけられない。
Q: タイプライターエフェクトはSEOやパフォーマンスに影響しない?
オンボーディング画面はログイン後にしか表示されないため、クローラーにインデックスされない。SEOへの影響はゼロだ。JavaScriptで文字を1文字ずつ表示するだけなので処理負荷も軽く、速度を40ms→20msに高速化しても体感差はほぼない。
今週を一言で
「完璧です」を信用するのをやめた週だった。
Step 2の離脱率100%というデータが出るまで、僕もClaudeの「完璧です」を半分信じていた。数字が出てから初めて、何を消すべきかが見えた。
ThreadPostのオンボーディングを改善中だ。実際に触ってみてほしい。

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