I have two questions if you don't mind:
1: onboarding is something that users should do once only. Unfortunately, engineers only see it once also. It's easy to forget there's an onboarding flow in your app as you build it. Do you have mechanisms in place to detect if somebody releases a breaking change? For example: an element you expected to exist is now gone, a url has changed, etc.
2: Can you share how you came up with the problem and if the product evolved over your time in YC? I think most engineers or PM's have had to think about onboarding at some stage so I'm curious about that.