01
As indie developers, how should we handle user feedback that makes us uncomfortable?
A bowl of malatang I had the other day suddenly made everything click.
02
It was past 5 PM on a hot afternoon, but I suddenly craved malatang.
So I went to the place I always eat at in winter — a food court with a row of stalls. Their spot looks clean, the broth is rich, and they have my favorite purple sweet potato cheese sausage and corn cheese sausage. A familiar, reliable choice.
The food was ready in three to five minutes.
But as I ate, something felt off. The tofu cubes and crab sticks had a sour taste. I picked them out and tossed them. Everything else was fine. I figured it was just these two ingredients — I'd quietly let the owner know so she could be more careful. Probably just the sudden heat catching them off guard.
Since it was barely past 5, the offices upstairs hadn't let out yet, and the food court was nearly empty.
Even so, I waited until I finished eating, then walked over to the stall and spoke softly to the woman who made my food.
I told her what happened and suggested she rotate those ingredients more frequently — wouldn't be great if other customers hit the same thing. With all the neighboring stalls around, I didn't want to make a scene. It would look like I was causing trouble.
But she completely missed the point.
She raised her voice nervously and said, "Oh no... how about I refund this one for you?"
In that moment I thought, "I'm telling you how to improve your product to reduce complaints, and you just killed my reason to come back."
I said quietly, "It's fine, it's fine," and left.
Walking out of the food court, I'd already made my decision — never coming back. I'd rather walk further to another place.
03
What I wanted wasn't a refund for that bowl.
What I wanted was one simple promise: "Got it, I'll pay more attention. Next time I'll make you an even better one."
What I wanted was for her to treat my feedback as a gift — I cared enough about this stall to walk over and tell her. If I didn't care, I would've just tossed the food and left without a word.
But she assumed I was there for compensation.
A refund looks like "I'm taking responsibility" on the surface, but it's really "let's close this out." Money returned, both sides even, relationship over.
But what the customer wants isn't to be even — it's a reason to come back.
Refunding is the most expensive solution, because it trades money for the relationship.
04
Building indie products is exactly the same. When users raise issues that make us uncomfortable, our reactions typically fall into a few patterns.
Some, afraid of hassle, just refund and move on. Some, reluctant to refund, find excuses to explain. Others simply don't respond, pretending they never saw it.
But all three reactions are fundamentally the same — they're "handling the incident," not "hearing the person."
When a user takes time to tell us about a problem, it means they still have expectations for our product.
They're thinking, "I want this product to get better, so I can keep using it."
If they've completely given up on us, they'll leave silently without a single word.
The essence of user feedback isn't a complaint — it's trust reaching out one last time.
What we should actually do isn't refund, explain, or stay silent — it's respond sincerely: "I heard you, I'll fix it, next time you come back I'll give you a better experience."
The malatang stall owner didn't understand this, so she lost a regular customer.
If we build products and don't understand this either, then every response we give is pushing users out the door with our own hands.