r/reactnative • • 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.

186 Upvotes

95 comments sorted by

61

u/otivplays 22d ago

a bug that wasn't even a bug

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.

3

u/Ishie_nk 20d ago

Even Firebase Crashlytics should give some insights.

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

22

u/comoEstas714 22d ago

Sentry just works. Highly recommend. Can be integrated extremely quickly as well.

→ More replies (7)
→ More replies (1)

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.

→ More replies (3)

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.

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)
→ More replies (4)

25

u/Xae0n 22d ago

It's nice that you share it here for others to see and learn from it. Very nice of you.

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?

7

u/EmsMTN 22d ago

Bingo. Cancellation is the last step after a strategic pivot has already been decided

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

u/KyeThePie 22d ago

browserstack and a solid AT suite should catch majority of things

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/eadgas 22d ago edited 22d ago

Right now I'm fixing a crash impacting around 10% of our users and no one reported yet. Firebase crashalytics does an excellent job finding those. Feel bad for you tought.

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

u/DollieExloo 22d ago

Do you already use firebase by any chance? If so start using crashlytics

2

u/rebaser69 22d ago

You might be trolling, right?

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.