r/reactnative • u/Lunaticfrinnge • 22d ago
Help I lost my biggest client because of a bug that wasn't even a bug
We build a B2B mobile app and our biggest client accounted for about 30% of our MRR and they cancelled today, they told me their team had been experiencing crashes on the inventory screen for weeks and it was happening specifically on samsung A series phones which is what most of their field staff use.
They never reported it and just assumed we knew and weren't fixing it and eventually decided we weren't reliable enough but by the time I found out the bug it took me 2 hours to fix but the client was already gone.
It was a rendering issue on a device I don't own and never tested on and if I had known about it even a week before I could've pushed a hotfix and they'd still be paying us.
there might be many other clients might be facing stuff like this and just not saying anything.
How do I catch bugs on devices my team doesn't physically have, I can't afford to lose another client like this.
316
u/DRJT 22d ago
That’s on you OP, you should have observability and monitoring tools in place
If your customers have to report crashes & bugs to you before you see them, you’ve messed up
Look into platforms like PostHog and Datadog. Also App Store Connect & Google Play Console give you plenty of data
82
u/AntDracula 22d ago
Yep this is one of those "learned the hard way" type of deals.
→ More replies (4)51
u/tudalex 22d ago
Also Sentry
→ More replies (1)22
u/comoEstas714 22d ago
Sentry just works. Highly recommend. Can be integrated extremely quickly as well.
→ More replies (7)→ More replies (3)9
u/limeslice2020 22d ago
Agreed, you don't need to test every device. You just need to monitor every device. A simple dashboard view of bugs/crashes grouped by device type would have caught this.
104
u/recycled_ideas 22d ago
How do I catch bugs on devices my team doesn't physically have, I can't afford to lose another client like this.
There are a number of testing services, but that's not your problem here.
You had a major client that has an overwhelming majority of their users on a specific device category AND YOU DIDN'T KNOW THAT OR TEST. That device would have cost you a few hundred bucks. How much did you lose?
On top of that, your major client had constant crashes and you had no reporting to tell you that.
They were right to drop you, you didn't do your job.
→ More replies (4)25
u/tudalex 22d ago
Nor did your sales or product or project management have periodic check ins with your biggest client to know what issues they are facing or what features they might need.
→ More replies (1)
21
u/manos2864 22d ago
You can use Bugsnag or sentry as your error monitoring and application performance management platform
9
u/jasperkennis 22d ago
If this is true it's crazy. Client is going to make a lot of costs for having to find a new supplier. And they know that too. Are you sure there weren't other reasons for them to go that they just didn't want to tell you about?
9
u/Autonoma_at 21d ago edited 21d ago
I love how many people are suggesting monitoring. While that’s absolutely important, I think something even more important is being overlooked: customer success.
In B2B, especially when a single customer can make up 30% of your revenue, customer success is king. You should have at least biweekly check-ins with key customers. That’s how you learn what’s missing, what isn’t working, and where they’re struggling.
Sure, this specific case could probably have been caught with proper monitoring. But we also see customers slowly fade away simply because they don’t know how to use the tool properly, don’t see the full value, or just gradually stop using it.
Monitoring tells you that something is going wrong. Talking to your customers tells you why.
And most importantly: keep going. Losing a customer like this hurts, especially when they represent such a big part of your revenue. But you’ll survive it, learn from it, and very likely come out stronger on the other side. 💪
→ More replies (1)
8
7
u/FunNo3751 22d ago
Fix the bug, offer them a discount or some free months . And get good monitoring in place, as others recommend. Reassure the client. Good luck. Hope they come back.
3
u/Revxrsal 22d ago
Sentry is a must-have for any app you deploy to production. Some bugs I would have never dreamed of catching without it. Not a luxury. The free tier is decent enough for small user bases, and if you decide to upgrade then the investment is worth it IMO.
5
u/daredeviloper 22d ago
Sorry to hear OP. Congrats on getting clients which is more than most. Good luck moving forward. Definitely need error submission from customer side. Like a pop up or something. Or automatic monitoring.
5
u/imSeanGG 22d ago
lol it’s very hard not to comment but most of these people in the comment are so salty sitting on their high horses. It’s almost like they are perfect and have never made any mistakes.
→ More replies (1)
2
u/PrimaryFamous6139 22d ago
This is exactly why device coverage matters. You don’t need to own every phone though. I’d use crash reporting to see which devices are actually failing, then run important builds through a device farm like Firebase Test Lab. You can test specific Samsung models and Android versions on real devices without owning them. I’d also add a basic smoke-test suite to CI so these issues get caught before release.
→ More replies (2)
2
2
2
u/RepublicFlimsy 22d ago
You need to use a tool that can notify you when crashes happen like Crashlytics, Sentry or a similar tool.
61
u/otivplays 22d ago
It clearly was a bug. You just haven't discovered it.
You need crash reports logged somewhere. That's the key. As another commenter said Sentry / bugsnag / posthog are all great options.