Introducing OnboardJS

Monday, December 15, 2025

Soma Somorjai
OnboardJS Logo

User onboarding flows are incredibly difficult. The challenge isn’t just the UI; it’s moving fast without creating a maintenance nightmare. You’re trying to ship an experience that feels valuable, adapts as your product evolves, and doesn’t turn into an untraceable black box.

We’ve all been there, state management that starts “simple” and ends up as spaghetti. Flows that need to branch based on behavior, plan, role, or progress. A redesign that forces you to touch logic everywhere. An onboarding tweak that should take an hour but turns into a risky refactor.

And then there’s the tradeoff most teams get stuck with: build it yourself and own the complexity, or use a platform and compromise on design, flexibility, money, and control.

Introducing OnboardJS

That’s why we’re introducing OnboardJS: a free, open-source library for building onboarding flows without locking your logic to your UI. OnboardJS is headless and framework-agnostic: you bring your design system and components, and it handles the orchestration underneath.

With OnboardJS, you don’t have to choose between “custom and painful” or “easy and rigid.” You can build simple step-by-step tours, conditional flows, and multi-path onboarding journeys that adapt to users as they move through your product - without reinventing infrastructure each time.

From the get-go I have been open-sourcing OnboardJS and inviting developers, designers, and product teams to build with us in the open. Feedback, contributions, and real-world use cases will shape what it becomes.

A developer-focused journey

We built OnboardJS because we ran into the same wall, repeatedly: onboarding is product-critical, but the tooling around it often forces bad tradeoffs.

Most “build it yourself” approaches couple presentation and logic so tightly that everything becomes fragile. A new step breaks navigation. A new condition breaks progress. A new UI breaks the flow. Meanwhile, many SaaS onboarding platforms move the problem somewhere else: rigid templates, limited customization, and vendor lock-in that makes change expensive.

OnboardJS is built on a simple philosophy: your onboarding should look and feel like your product, not like your tools. The UI should be yours. The logic shouldn’t be a bespoke puzzle every team has to solve again.

So OnboardJS focuses on the hard parts teams shouldn’t have to keep rebuilding:

  • Flow orchestration and navigation
  • Conditional paths and dynamic branching
  • State management that doesn’t spiral out of control
  • Persistence and continuity across sessions
  • A foundation that stays stable while your UI evolves

The goal is straightforward: ship onboarding faster, keep it maintainable, and make redesigns and iteration routine instead of scary.

Beyond the open-source foundation

We’re not stopping at a library. Our mission is to build a sustainable company with tools that help SaaS teams grow - without sacrificing control.

On the roadmap is a cloud offering designed to pair with the open-source core. The focus is on two things teams consistently ask for:

First, onboarding analytics that are actually actionable. Not a wall of charts, but clarity: where users drop off, what steps cause friction, how long it takes to reach value, and how different segments behave.

Second, a no-code onboarding editor that helps teams iterate without waiting on engineering. Product teams should be able to test, adjust, and improve onboarding quickly - without turning every change into a deploy cycle.

The open-source library remains the foundation. The cloud layer will be there for teams who want managed convenience on top.

For whom?

OnboardJS is designed for teams who want to own their onboarding experience without building all the infrastructure from scratch.

It’s ideal for SaaS teams that care about design, speed, and maintainability - especially when onboarding needs to evolve frequently. It’s also a great fit for agencies and product teams building onboarding across multiple projects, where repeating the same engineering work makes no sense.

Whether you’re a founder trying to improve activation, a product manager trying to iterate faster, or an engineer tired of maintaining fragile flows, OnboardJS is built to make onboarding feel like part of your product - not a separate system you’re constantly fighting.

So… why open-source?

Simple: control and trust.

Open-source means you can inspect how it works, adapt it to your needs, and never worry about your onboarding being held hostage by pricing changes or platform constraints. It also keeps us honest - real users, real feedback, real scrutiny.

It also means community. The best onboarding patterns and ideas don’t come from one team in isolation. They come from the messy reality of shipping products, learning what works, and sharing what doesn’t.

Looking ahead, our plan is sustainable: keep the core open, and build paid, optional services around it for teams that want analytics, editing tools, and collaboration features with managed infrastructure.

Over to you

We’re not just launching a library; we’re starting a conversation with the people who build products.

If onboarding is something you’ve struggled with, we want your input - what you’re building, what keeps breaking, what you wish existed, and what would make this genuinely useful. Tell us where OnboardJS shines, where it falls short, and what you’d want to see next. [Join out Discord]

Let’s build the future of onboarding - one flow at a time.

Support us by giving us a ★ on GitHub!