ハコヅミを作る #70:メンバーをフォローする(いいねは1件に、フォローは人に)
#69 で、いいねと、いいねの多い順を作りました。ステップ7(コミュニティ機能)で残っていたのは、フォローだけです。
その夜のうちに相談して、朝までに本番に出しました。
- テスタ募集の投稿が、9回しか見られなかった
- いいねは1件に、フォローは人に
- フォローした人の新しい共有を、どう見せるか
- 「新しい」は、どの日付で決めるか
- フォローされている数は、本人にだけ
- 手元で通った型チェックが、PR で落ちる
- いいねとフォローが、2日でそろった
テスタ募集の投稿が、9回しか見られなかった
本題の前に、1つ。
#64 で、X にテスタ募集の投稿を出しました。10月13日です。翌日の夜にも、文を変えて、もう1回出しました。
数字を見比べたら、ずいぶん違いました。
| 1回目(10月13日) | 2回目(10月14日の夜) | |
|---|---|---|
| 表示された回数 | 84 | 9 |
| 画像 | 同じ | 同じ |
| リンク | 本文に入れた | 本文に入れた |
| ハッシュタグ | #キャンプ #キャンプ道具 | #個人開発 #キャンプ |
| 出だし | キャンプの忘れ物をなくすチェックリスト | 個人開発の…ベータ版を始めて1週間。テスタは、まだ0人です |
どちらも、いいねは付いていません。画像もリンクも同じです。違うのは、2つ目のタグと、出だしと、2回目だったことです。
Claude Code に聞いてみました。返ってきたのは、こういう見立てでした。
- 前の日と同じ画像・同じリンクの投稿は、くり返しと見られて、広げてもらいにくいと言われている
#キャンプ道具を追っているのは、道具が好きな人。ハコヅミを使ってほしい人たちそのもの。#個人開発は、作る側の人が中心で、届く相手がずれている- 「ベータ版を始めて1週間」「テスタは0人」は、作る側の事情。キャンプに行く人の、困りごとではない
X の中の仕組みは公開されていないので、どれが効いたかは、分かりません。ただ、3つ目は、自分で読み返しても、そう思いました。正直に書いたつもりの出だしが、読む人の手を止める理由になっていませんでした。
次は、出だしを困りごとにして、画像を変えて、何日か空けてから出します。
いいねは1件に、フォローは人に
本題です。フォローを作るにあたって、わたしから出した考えは、これでした。
キャンプ、ギア、料理、それぞれ単品に付けられる「いいね」とは違って、「フォロー」は、そのメンバーに対して付けるものと考えている
いいねは、「このケトル、いいな」。フォローは、「この人の持ち物、いつも参考になる」。印を付ける相手が、違います。
ボタンは、メンバーの共有のページの、名前の下に置きました。

押す前(架空のデータ)

押したあと。もう一度押すと、外れる
自分のページには、出しません。フォローできるのは、1人 500 人までにしました。1人が何千人もフォローして回るのを止める、歯止めです。
フォローした人の新しい共有を、どう見せるか
わたしが相談したのは、ここでした。
あとはフォローした相手の情報をどのように見せるべきか?の提案が欲しい
Claude Code が最初に置いたのは、目的でした。フォローは、「また開く理由」になるものです。それなら、相手が新しく共有したものが、自分から見に行かなくても、目に入る形がよい。
トップページに、新しいものを3件
ハコヅミを開くと、まずトップページが出ます。お知らせの下に、「フォロー中の新着」を置きました。

トップページ
フォローしている人がいないとき、新しいものがないときは、出しません。何もない枠を見せても、しかたがないからです。
「フォロー中」のページ
「すべて見る」で開くのが、「フォロー中」のページです。タブは「新着」と「メンバー」の2つ。

新着は、ギア・キャンプ・料理をまぜて並べる
ギア・キャンプ・料理を、種類で分けずに、まぜて並べました。「この人、新しいチェアを買ったんだ」「あ、このキャンプ場に行ったんだ」と、その人の動きとして、続けて見られるように。
「みんなの共有」には、札だけ
「みんなの共有」のタブを1つ増やす案も、考えました。今のタブは、「メンバー」「ギア」「キャンプ」「料理」の4つです。5つ目は、幅 320px のスマホに入りません。
代わりに、「メンバー」のタブで、フォローしている人に札を付けました。

フォローしている人に「フォロー中」の札
並び順は、変えていません。フォローしている人を上に寄せると、ほかの人が見つけにくくなります。
「新しい」は、どの日付で決めるか
作り方を決めるうえで、いちばん迷ったところです。
ハコヅミの共有は、種類ごとに、まとめてオンにします。ギアの共有をオンにした瞬間に、それまでに登録した何十個のギアが、一度に共有されます。1件ごとに「共有した日」は、持っていません。
「新しく共有したもの」を並べるとき、日付の候補は2つでした。
| 案 | 並べる日付 | 起きること |
|---|---|---|
| A | その1件を登録した日 | 新しく買ったギア、行ったキャンプが、上に来る |
| B | 登録した日と、共有をオンにした日の、新しいほう | オンにした直後に、その人の持ち物が全部「新着」になる |
A にしました。
B だと、だれかが共有をオンにした日、フォローしている人の新着が、その人の持ち物で埋まります。何年も前に買ったランタンが、「新着」として並びます。
A なら、「新しく登録したもの」が、素直に上に来ます。新しい列も、要りません。
もう1つ、あとから気づいたことがあります。A では、フォローした時点より前に登録されたものも、新着に並びます。フォローした直後に、その人の共有が、まとめて見えます。これは、そのままにしました。フォローした直後こそ、その人のものを見たいはずだからです。
フォローされている数は、本人にだけ
いいねと同じく、だれがフォローしているかは、だれにも見せません。フォローされた本人にもです。
迷ったのは、数のほうでした。
| 案 | だれに見せるか |
|---|---|
| 出さない | だれにも |
| 本人にだけ | アカウントの画面で、自分の数だけ |
| だれにでも | 共有のページで、その人の数が見える |
「本人にだけ」にしました。
だれにでも見せると、数の比べ合いになります。数の多い人が偉い、という空気は、持ち物の覚え書きのアプリには、要りません。でも、本人には、励みになるはずです。自分の共有を見てくれている人がいる、と分かれば、写真を撮り直してみようか、という気にもなります。

アカウントの画面(自分にだけ見える)
「フォロワー」ではなく、「フォローされている数」と書きました。カタカナの言葉を、なるべく使わないようにしています。
手元で通った型チェックが、PR で落ちる
PR を出したら、CI の型チェックで落ちました。E2E は、3つとも通っています。
Argument of type 'SQLiteColumn<{ name: "user_id"; tableName: "camps"; ... }>'
is not assignable to parameter of type 'SQLiteColumn<{ name: "user_id"; tableName: "gears"; ... }>'.
フォローしている人の新着を読むところで、ギア・キャンプ・料理の持ち主の列を、1つの小さな関数に渡していました。その関数の引数の型が、ギアの列に決まっていました。キャンプと料理の列は、合いません。直し方は、条件を、問い合わせごとに書くことでした。3行の重なりを、1つにまとめたくなったのが、もとです。
それより気になったのは、手元では通っていたはず、という点です。
調べたら、手元の型チェックの結果を、「Error」という文字で絞って見ていました。エラーが出たら、その行が表示されるはずでした。何も出なかったので、通ったと思い込んでいました。
手元の型チェックは、エラーを「ERROR」と、大文字で出していました。「Error」では、引っかかりません。
結果を絞って見ると、見たいものだけが見えます。絞り方がまちがっていると、見たいものも、見えなくなります。最後の行の「エラー 0 件」を見れば、それで済む話でした。次からは、そうします。
いいねとフォローが、2日でそろった
10月15日の朝に、計画の順番を入れ替えて、コミュニティ機能をステップ7 にしました。
| 日 | できたもの |
|---|---|
| 10月15日 | いいね、いいねの多い順 |
| 10月16日 | フォロー |
これで、ステップ7 で作ると決めていた、いいねとフォローは、そろいました。コメント・チャット・DM は、作らないと決めています。
ただ、ステップ8 の課金に進む前に、小さな直しを、いくつか挟みます。それが済んでから、ステップ7 を閉じて、課金に取りかかります。
おわりに
- 正直な出だしでも、読む人の困りごとでなければ、手は止まらない
- 届けたい人がいるタグを選ぶ。作る側のタグは、作る側に届く
- いいねは1件に、フォローは人に。印を付ける相手が違う
- 「また開く理由」にするなら、自分から見に行かなくても目に入る形にする
- 何もない枠は、出さない
- 「新しい」は、登録した日で決める。共有をオンにした日で決めると、昔のものが「新着」で埋まる
- 数は、本人には励みに、ほかの人には比べ合いになる。本人にだけ見せる
- 結果を絞って見るときは、絞り方がまちがっていないかを疑う。最後の行の件数を見る
テスタを募集しています。キャンプに行く方、よければ、触ってみてください。