Show original
Enjoyed this article?
Use "Request tipping" to ask the author to set up tip receiving.

AI translation
I'm writing an essay. There was a screen I didn't want to open. I've been thinking about it for a long time. A list of comments from cancelled users. It sits quietly in the corner of the dashboard, but the numbers alone keep growing little by little each month. Last month there were 17. I could find out in a second if I opened it—how many of them left text comments. And yet I…
Enjoyed this article?
Use "Request tipping" to ask the author to set up tip receiving.
I'm writing an essay. For a long time, I've been thinking there's a screen I don't want to open. The comment list from users who canceled their subscriptions. It sits quietly in the corner of the dashboard, yet the numbers alone creep up a little each month. Last month there were 17. I could find out in a second how many of them left text if I opened it. And yet I went months without clicking there. It wasn't so much fear as a state of "I'm not ready to read and be hurt yet." It might be close to that feeling of not wanting to see notifications on your phone, so you leave the screen face-down. What I want to talk about today is the story of finally opening it one night, reading everything, and receiving something unexpected.
As an excuse for not reading the cancellation comments, I had given myself several reasons. "It's biased data where only complainers' voices gather." "I'll get emotional and my judgment will be distorted." "Even if I read it, I can't change anything."
Looking back now, they were all just justifications to protect myself from opening it.
The truth was simple: I didn't want to watch my eyes follow text saying "this wasn't what I expected" or "it was disappointing" about something I'd spent time creating. That's all it was. Even knowing this, it takes time to admit it—and when you're doing solo development, there are surprisingly many things like this.
At the end of July, someone else who was building a subscription app posted something like this on social media: "I transcribed all the cancellation reasons into a spreadsheet and analyzed them. I narrowed down 3 features from that. The next month's update slightly reduced the churn rate."
At first I thought, "That's amazing, how can they do that?" I wondered if they didn't get hurt reading them.
But after a while, I started to see it differently. Maybe that person wasn't thinking about whether it would hurt—maybe they were reading it thinking "there's information here." Maybe they were reading the same text with a completely different framework for receiving it.
As for whether I could make that distinction, honestly I couldn't at all. Before even opening the comments, I'd decided "there are painful things written here," and I'd stop there. I was drawing conclusions before opening it.
That night, I decided to try something. I would open it with a different purpose in mind: not "receiving feedback" but "looking for hints about what to build next." It sounded a bit silly when I said it out loud, but it worked.
In the first week of August, just after midnight, I finally opened the dashboard.
In the 17 comments, 11 had text. The remaining 6 were just cancellations with nothing written.
To be honest, after reading the first 3, I almost closed it. "Didn't understand how to use it." "The UI feels old." "The price was higher than I expected." Each one stung. The phrase "feels old" especially made me unable to look away from the screen for a while. The memory of how much time I'd spent on that design came flooding back.
But I didn't close it. I quietly repeated the words "looking for hints about what to build next" and moved to the next comment.
The 4th comment said: "I only used it once a week, but the monthly fee was too much." The moment I read it, I understood. It wasn't that they didn't use it—their usage frequency and the pricing didn't match. That was something I could have chosen on my side of the design. A weekly plan was something I'd thought about before but put off because it seemed like a hassle.
The 8th one said: "I liked the features themselves, but there were too many notifications." I'd heard similar feedback through another channel a month ago and had been putting off dealing with it. Regret and the feeling of "this is something I can fix" came almost simultaneously.
It took about an hour to read them all. What surprised me when I finished was that among the 11 comments, there wasn't a single one saying "I hated this service."
"It didn't match my usage pattern." "The timing was bad." "A certain feature was missing." Each one was something where if I changed something, the outcome could have been different. I don't think it applies to everyone, but more than half of the comments could be read that way.
The next morning, I transferred the words that came out of the comments into a sticky note tool. With one rule: don't write impressions or interpretations, just "the words themselves."
"A plan for once-a-week users." "Fine-grained notification adjustment settings." "The initial explanation was too short (same point in 3 comments)." "Wanted integration with ○○." ... When I wrote them out, there were 10. Of those, 7 were things I'd been vaguely thinking "I'll do that later" about.
Looking at this memo, I rearranged the next update schedule. I pushed back the original plan of "adding new features" and decided to do "adding notification settings" and "improving onboarding" first instead.
I don't know yet if this is the right call. The people who canceled won't necessarily come back, and there's no guarantee the next cancellations will stop. But at least it's a judgment based on words that someone actually spoke. That's a different kind of basis than "this just feels right somehow." Just that much made me feel a bit more settled as I got started.
It might sound grandiose, but that's what I think now.
I thought about why people who are leaving would bother to leave words behind. Some people probably just want to vent their frustration. But someone who wrote "I would have kept using it if there was this feature" probably wanted to use it just a little longer. Maybe they were trying to pass something on to the next maker as they left.
I'd been leaving those words unread. I think that was wasteful now.
I understand the feeling of not wanting to read because you're afraid of being hurt. I felt that way for a long time. But if you don't read, you end up releasing the next version without knowing what to fix. That has its own kind of fear. It's like running forward without knowing where you're going.
When you're doing solo development, there are many moments when you have to decide "what to build next" by yourself. There's little data to reference, no team to discuss with, and no one to answer the question "is this right?" That kind of loneliness lingers no matter how used to it you get.
In that sense, I think cancellation comments can become a map. Not a complete map, and it takes a little courage to start reading it, but it's still something that draws a line where there was nothing before.
The numbers will probably increase next month. Some of them will have words. Next time, I'm thinking I'll open it a little sooner. Not going to get hurt, but going to receive.
Lily (@bokuwalily) — Solo developer. Building iOS apps and web services in tandem with AI.
🎁 A free bonus for reading all the way through: LINEで「自動化」と送って受け取る(実装テンプレ7本)
Lily (@bokuwalily) — Solo developer / AI adoption and business automation consultant. Building iOS apps and web services in tandem with AI while consulting on AI adoption and automation for companies.
🖥️ Works and articles → bokuwalily.com
🐙 OSS → github.com/bokuwalily
🌍 Latest info and inquiries → X @bokuwalily
エッセイを書きます。 開いたくない画面がある、とずっと思っていました。 解約したユーザーのコメント一覧。ダッシュボードの隅にひっそりあって、でも数字だけは毎月じわじわと増えていく。先月は17件でした。そのうち何人がテキストを残してくれているかは、開けば一秒でわかる。それなのにわたしは、何ヶ月もそこをクリックせずにいました。 怖いというより、「読んで傷つく準備がまだできていない」という状態が続いていた、という感じです。スマホで通知を見るのが嫌で画面を伏せたまま置いておくような、あの感覚に近いかもしれません。今日話したいのは、ある夜にやっとそれを開いて、全部読んで、思いがけないものを受け取った話です。
解約コメントを読まない言い訳として、自分にいくつか言い聞かせていたことがありました。「クレーマーの声だけ集まった偏ったデータだから」「感情的になって判断が歪む」「読んでも何も変えられない」。
今になって思えば、全部、開けない自分を守るための理由づけでした。
本当は単純で、時間をかけて作ったものに「思っていたのと違った」「期待外れだった」と書いてあるのを目で追うのが、嫌だったんです。それだけのことです。わかっていても認めるのに時間がかかる、という種類のことは、個人開発をしていると案外たくさんあります。
7月の終わりに、同じくサブスクのアプリを作っている方がSNSにこんな投稿をしていました。「解約理由を全件スプレッドシートに転記して分析した。そこから機能を3つ絞り込んだ。翌月のアップデートで解約率が少し落ちた」という話でした。
最初は「すごい、どうしてそんなことができるんだろう」と思いました。読んで傷つかないのかな、と。
でも少し経ってから、別の見方ができるような気がしてきました。もしかしてその人は、傷つくかどうかよりも「ここに情報がある」と思って読んでいるんじゃないか。同じテキストを、受け取り方の枠組みがまったく違う状態で読んでいるんじゃないか、と。
その区別が自分にできていたかというと、正直まったくできていませんでした。コメント欄を開く前から「辛いことが書いてある」と決めつけて、そこで完結させていた。開く前に結論を出していたわけです。
その夜、試してみることにしました。「感想を受け取る」ではなく「次に何を作るかのヒントを探す」という目的を意識して持ってから開く、という方法で。声に出して言ってみたらちょっとおかしかったですが、効果はありました。
8月の第一週、深夜を少し回ったあたりで、わたしはやっとダッシュボードを開きました。
17件のコメント欄には、11件にテキストがありました。残りの6件は何も書かれていない、ただの解約でした。
正直に言うと、最初の3件を読んだ時点で閉じそうになりました。「使い方がよくわからなかった」「UIが古い感じがする」「思ったより値段が高かった」。それぞれが刺さりました。「古い感じ」という言葉は特に、しばらく画面から目が離せなくなりました。あのデザインにどれだけ時間をかけたか、その記憶が蘇ってくる感じがして。
でも閉じませんでした。「次に作るものへのヒントを探す」という言葉を小さく繰り返して、次のコメントへ進みました。
4件目に「週に1回しか使わないのに月額は重かった」という一文がありました。読んだ瞬間、ああ、と思いました。使わなかったんじゃなくて、自分の使い方の頻度と料金のバランスが合わなかった。それはわたし側の設計で選べた話だ、と。週次プランを用意するかどうかは以前も少し考えていたのに、面倒で後回しにしていたことでした。
8件目は「機能自体は気に入っていたけど通知が多すぎた」。これは一か月前にも別の経路で似た声があって、「後でやろう」と先送りしていた問題でした。後悔と「これは直せる」という感触が、ほぼ同時に来ました。
1時間ほどかけて全部読みました。読み終わって、意外だったのは、11件の中に「このサービスが嫌いだった」という趣旨のコメントが一件もなかったことです。
「自分の使い方に合わなかった」「タイミングが悪かった」「ある機能が足りなかった」。どれも、わたしが何かを変えれば結果が違った可能性のある話でした。全員がそうとは思わないけれど、そう読めるコメントが半分以上ありました。
翌朝、コメントから出てきた言葉を付箋ツールに転記する作業をしました。感想や解釈は書かない、「言葉だけ」を写す、というルールで。
「週1回利用者向けのプラン」「通知の細かい調整設定」「初回の説明が短すぎる(同趣旨が3件)」「〇〇との連携がほしかった」……書き出したら10個になりました。そのうち7つは、以前から「なんとなく後でやろう」とぼんやり思っていたものでした。
このメモを見て、次のアップデートの予定を入れ替えました。「新しい機能を追加する」という元々の計画を後ろに回して、「通知設定の追加」と「オンボーディングの改善」を先にやることにしました。
これが正解かどうかは、まだわかりません。解約した方が戻ってくるわけでもないし、次の解約が止まる保証もない。でも少なくとも、誰かが実際に口にした言葉を根拠にした判断です。「なんとなくこれがいい気がする」とは、根拠の種類が違います。それだけで、少し落ち着いた気持ちで着手できました。
言い方が大げさかもしれませんが、今はそう思っています。
去っていく人がわざわざ言葉を残していくのは、なぜだろうと考えました。ただ不満を吐き出したい人もいると思います。でも「こういう機能があれば使い続けた」と書いてくれた人は、たぶんもう少しだけ使いたかった人です。去りながら、次の作り手に何かを渡そうとしてくれた人かもしれない。
そういう言葉を、読まずに置いていた。もったいなかったな、と今は思います。
傷つくのが嫌だから読まない、という気持ちはわかります。わたしもずっとそうでした。でも読まないでいると、何を直せばいいかがわからないまま、次のリリースを出し続けることになります。それはそれで、別の種類の怖さがあります。どこへ向かっているかわからないまま走り続けている感じ、とでもいうか。
個人開発をしていると、「次に何を作るか」を一人で決めないといけない場面が多くあります。参照できるデータが少ないし、チームで議論する相手もいないし、「これで正しいのか」という問いに答えてくれる人がいない。そういう孤独さは、どれだけ慣れても少し残ります。
解約コメントは、そういう意味で、地図の一つになれると思いました。完全な地図ではないし、読み始める前に少し勇気がいる地図ですが、それでも何もないところに線を引いてくれる何かです。
来月もきっと件数は増えます。そのうちの何件かには言葉がある。次は、もう少し早く開こうと思っています。傷つきに行くのではなく、受け取りに行くつもりで。
Lily(@bokuwalily)― 個人開発者。AIと二人三脚で、iOSアプリやWebサービスを作っています
🎁 最後まで読んでくれたあなたへ、無料の特典があります: LINEで「自動化」と送って受け取る(実装テンプレ7本)
Lily(@bokuwalily)― 個人開発者 / AI導入・業務自動化のコンサルタント。AIと二人三脚でiOSアプリやWebサービスを作りながら、企業のAI導入と自動化の相談を受けています
🖥️ 制作物・記事 → bokuwalily.com
🐙 OSS → github.com/bokuwalily
🌍 最新情報・お問い合わせ → X @bokuwalily