If you’ve ever tried building onboarding or product adoption with Appcues, Chameleon, Userflow, WalkMe, or Usetiful, you’ve probably hit the same two problems:
A little backstory:
When I was choosing an onboarding tool for my previous project, nothing matched what I needed. So I had to build my own. With help from IntroJS I built onboarding solution that I needed: Tooltips, Modals, custom CSS, waiting for interactions, and saving the state into the database. It worked… but it took way more time than it should have, and any change required a redeploy.
This made me realize: there’s no product-adoption tool made for developers and designers.. So me and my friends started building Flows with a simple philosophy:
Now back to the issues and how we’re solving them:
Most tools inject UI with JavaScript and target elements using selectors. This limits them to floating UI (tooltips, popups, dialogs). The ones that offer “inline” elements do it with brittle selectors, layout shift, and generic blocks that never really match your product.
Flows fixes this with a simple “portal” component <FlowsSlot/> that renders the elements directly where you need, with an optional placeholder to avoid layout shift. And floating components are supported as well.
Good design language isn’t optional anymore, it’s need for people to find your product interesting. That’s why customizing brand colors doesn’t cut it and spending development time on the whole CSS rewrite isn’t smart.
With Flows you can use your own components. Import them into Flows SDK, define the props in our editor and use them in the workflows. Anyone editing the content has clear visibility into the structure of each component and what each field is used for.
I’d love any feedback since we’re just getting it out there, thanks!