Wednesday, July 9, 2025

My Learnings from 2.6K Views and 0 Form Submissions

Soma Somorjai
A screenshot of the reddit post I made. 2.6k views

Building OnboardJS in Public

As a mainly front-end dev my passion lies in creating seamless UX. But sometimes, even the most well-intentioned ideas for enhancing that experience can fail, especially when building in public. I recently had a stark reminder of this truth when I launched a new demo for OnboardJS, our open-source user onboarding engine, and saw a significant disconnect between interest and action. Let me tell you the story of 2.6K views, 0 conversions, and a valuable lesson learned.

The Experiment: A "Meta Onboarding" Demo

For those unfamiliar, OnboardJS helps developers build multi-step user onboarding flows effortlessly, providing a headless engine and a React integration. I wanted to showcase its power with a "meta onboarding" demo on our landing page – an interactive tour about OnboardJS, built with OnboardJS.

My initial thought process was this: developers would love this interactive tour. At the end, they could fill out a simple form (Firstname, Lastname, Email) to receive the demo code (a ZIP file) along with an "onboarding optimization guide." My idea was to add extra value, perhaps offer a slightly more personalized starter kit, and yes, collect a few leads to understand who was interested.

Here's what the "Form" step with the Personal Information gathering looked like:

A screenshot of the old form fill step in the demo onboarding

The Data Speaks: Loud and Clear

Yesterday, I shared the demo on the popular /r/reactjs subreddit with a post titled "Multi-Step user onboarding with OnboardJS." The response was surprising. As of this morning, the post had gotten 2.6K views, alongside positive engagement (upvotes, and an ever favorite comment, "good bro"). Traffic to our demo surged.

The reddit post showcaseing 2.6k views and 4 upvotes

I was really happy. Developers were clearly interested in the problem OnboardJS solves, and they were clicking through to the demo. My analytics confirmed a good number of unique visitors interacting with the onboarding flow.

But then I checked the form submissions.

The result: 0.

Yes, zero. Not one single person, out of thousands of interested developers, completed that form.

Understanding the Developer Mindset: Friction Kills

A 0% conversion rate isn't an optimization problem that subtle A/B testing can fix. I thought about A/B testing having the form vs having a direct download button, however, it's a fundamental misjudgment of user expectations and developer psychology. This wasn't about the button color or the form field labels; it was about the gate itself.

Here's why, looking back, it was a colossal misstep for an open-source project:

  1. Trust Deficit: As a relatively new open-source project, OnboardJS hasn't yet built the immense trust that larger, established projects command. Asking for Personally Identifiable Information (PII) like names and email addresses is a high barrier when trust isn't fully cemented. Developers are inherently wary of being added to unwanted mailing lists.
  2. Expectation of Free Access: Open source ethos champions immediate, unfettered access to code. Putting a form in front of demo code feels counter-intuitive and stupid in hindsight. Developers expect to go straight to GitHub, clone a repo, or download a ZIP file with a single click.
  3. Perceived Value vs. Friction: The "exclusive optimization guide" and "customized starter kit" might have sounded valuable to me, but to a developer, the value of that specific demo's source code likely didn't outweigh the friction and privacy concerns of filling out a multi-field form. They likely assumed much of it was already in the main repo anyway.
  4. Interruption to Flow: The primary goal of clicking the Reddit link was to experience the demo and potentially see how it works. Introducing a form interrupts that flow with a "sales-y" interaction that doesn't align with the exploratory, learn-by-doing mindset.

The data (or lack thereof) was a harsh but invaluable teacher: for open-source code, friction is the enemy of adoption.

The Fix: Immediate & Frictionless Access

Based on this lesson, I've done the obvious thing: I've removed the form completely.

Now, when you complete the "meta onboarding" demo on our site, you'll be greeted with a direct download link for the full demo example code. No hoops, no forms, no strings attached. Just pure, immediate access to the code.

A screenshot of the new end step in the onboarding flow with the direct download button.

This change isn't just about fixing a bug; it's about re-aligning with the core values of building open source. OnboardJS is about making developer's lives easier, and that starts with making it easy to try and use the project.

The Broader Lesson for Building in Public

This experience has reinforced a crucial lesson for anyone building open-source projects or developer tools:

  • Listen to Implicit Feedback: Sometimes the loudest feedback isn't what people say, but what they don't do. A zero conversion rate is screaming at you.
  • Prioritize Developer Experience (DX) Above All Else: This includes the DX of getting started with your project. Minimize friction at every possible touchpoint.
  • Build Trust Through Transparency: Being open about failures, learnings, and how you adapt based on user behavior builds immense goodwill and trust within the community.
  • Value Community Over Leads (Especially Early On): For an open-source project, GitHub stars, Discord joins, and contributions are often more valuable "leads" than email addresses.

My goal for OnboardJS is to be the go-to extensible framework for user onboarding. This journey means constantly learning and adapting. If we can't get developers to access a simple demo, how can we expect them to adopt a whole framework?

Conclusion: Always Be Learning

This incident was a humbling but incredibly useful part of my journey building OnboardJS in public. It's a reminder that even when you think you're adding value, you might be creating unnecessary friction. My commitment remains steadfast: building a powerful, flexible, and developer-friendly onboarding solution.

So, please, go try the OnboardJS demo here. Experience the flow, grab the code, and tell me: what other barriers can we break down to make developer onboarding truly frictionless?

My Learnings from 2.6K Views and 0 Form Submissions - OnboardJS