My first user's session was a series of fatal crashes. Telemetry saved my project.
Hey everyone,
After a week of getting decent views but almost no downloads, I finally saw a new user pop up in my PostHog dashboard. I was ecstatic.
Then I watched the session log in real-time.
17:29: AppStarted
17:29: AppStarted
17:30: AppStartedThe guy tried to launch the app three times in 11 seconds. He was rage-clicking because nothing was happening.
Then the error log came in: IOException: Failed to bind to address ...: address already in use.`
It turns out I had a race condition in my startup code. The background service was trying to bind to a port twice, which caused it to crash silently. The UI would hang, waiting for a connection that would never happen.
For the user, it looked like the app was just... dead.
Without telemetry, I would have NEVER found this. I would have just assumed he downloaded it, didn't like the UI, and uninstalled. I would have spent weeks "improving features" instead of fixing the critical bug that made the app unusable.
Lessons learned:
Your app is broken. You just don't know how yet.
Telemetry isn't for tracking users, it's for finding bugs you can't reproduce locally.
The first user isn't a customer, they're a crash test dummy.
I pushed a hotfix (v1.0.3) with a Mutex to prevent multiple instances and fixed the race conditon. Now I'm just hoping that user gives it a second chance haha.
Replies