Why I scrapped the original onboarding flow (and what I replaced it with)
The first version of Prysm's onboarding made complete sense on a Figma board. Every field had a reason to be there. The logic was sound. I felt good about it.
Then we put it in front of users and watched what actually happened.
The original flow asked for more than it needed to. We were collecting information we thought would help us personalize the experience: hourly rate, estimated hours per project, detailed business context. The intention was to make the output feel tailored. What it actually did was create friction at the exact moment a new user is deciding whether this product is worth their time. People didn't finish it. And the ones who did were already frustrated before they reached the thing they came for.
The insight that changed everything was simple: the only piece of information Prysm actually needs from you in that first session is your monthly income goal. That one number is what makes the pricing output meaningful. Everything else we were asking for was either for our benefit or for a future version of the product that didn't exist yet. We were building for a roadmap instead of building for the person in front of us.
So we rebuilt it. The new onboarding collects five things: freelancer type, city, province, years of experience, and monthly income goal. That's it. You cannot access the dashboard until it's done, but it takes under two minutes. The design principle behind that decision is something we now apply across the whole product: if a piece of information doesn't change what we show you today, we don't ask for it today.
The lesson wasn't really about onboarding. It was about the difference between building something that feels complete and building something that works. They are not always the same thing, and in the early stage, working has to win.