Bootstrapwarebootstrapware

Bootstrapware Onboard

A checklist that only checks off what your app did.

Invite stays blocked until the workspace exists. Billing checks off when you pass the fact, not when someone clicks the row. User steps and workspace steps share one flow. BYO $9.99 or Hosted $19.99. No seat tax. No MAU tax. Not a product tour.

Free local · BYO $9.99 / mo · Hosted $19.99 / mo. Workspace pricing. No seat tax.

Onboard embed: first-run setup checklist with workspace and invite complete, billing ready, and an optional import.

Try it

Same widget. Local data only.

This is the real @bootstrapware/onboard package. Nothing is sent to Bootstrapware. Open Facts reconcile or Next-step href CTA to see a checkmark that follows the app.

Capabilities

The boring first-run checklist, already built.

AI can sketch a todo list. Owning dual-scope progress, fact reconciliation, completion semantics, and published flow config is still a weekend you do not want.

Facts and eligibility

Pass hasBilling and that step is done on mount. Gate other steps by role, plan, or flags. A display rule never rewrites stored progress.

Checklist with dependencies

Required and optional steps, blocked copy when prerequisites are unmet, and mixed user/workspace scope in one flow.

Host-asserted identity

Pass user={{ id }} and workspaceKey. Bootstrapware does not authenticate end users. Live Hosted requires author tokens minted from your BFF.

BYO or Hosted

BYO ($9.99): you own progress via an OnboardAdapter. Hosted ($19.99): progress and integration-reported summaries live on Bootstrapware.

Dismiss and snooze

Dismiss hides the widget without showing 100% progress. Snooze tucks it away without stealing focus. Resume when ready.

Operational webhooks

Hosted flow events with identifiers only. Never host context or flags through MCP. BYO uses onEvent on your backend.

Full feature reference

How it works

Three steps. Your auth stays yours.

Onboard embed at 0% with blocked invite, billing, and import until the workspace step is done.

01

Embed the checklist

Install @bootstrapware/onboard. Pass a local adapter, a BYO adapter, or flowId + publishable key for Hosted.

Onboard embed after completing Create your workspace, with invite, billing, and optional import unlocked.

02

Complete it from the app

Call completeStep when the action really happened. Pass facts so billing reconciles on mount. user.id and workspaceKey say whose progress it is.

Onboard embed at 100% with required steps complete and the optional import skipped.

03

Store or Host

BYO: implement getProgress/completeStep on your API. Hosted: progress lives with us; summaries export from the dashboard.

Privacy by design

Config is hosted. Progress depends on the mode.

Onboard is embed-only. Your app asserts identity. BYO keeps progress on your backend. Hosted stores progress records and integration-reported summaries; never host context or flags. MCP never receives those payloads.
Required setup complete with an optional import still open. Progress is host-driven; Bootstrapware never sees host context or flags.

BYO / local

  • Progress stays on your systems
  • You implement adapter methods including reportOutcome
  • We host published flow configuration only
  • Side effects via onEvent, not Bootstrapware webhooks

Hosted ($19.99)

  • Progress records and summaries stored as opaque metadata
  • Dashboard export for integration-reported outcomes
  • Live writes require authorToken from your BFF
  • Cancel: freeze writes, export 30 days, then delete

Install

One package. Typed React component.

Publishable keys may appear in the browser. Secret keys stay in Route Handlers. Your app asserts user.id.
pnpm add @bootstrapware/onboard
"use client";

import { Onboard, createLocalAdapter } from "@bootstrapware/onboard";
import "@bootstrapware/onboard/styles.css";

export function SetupChecklist({ user, workspaceKey }: { user: { id: string }; workspaceKey: string }) {
  return (
    <Onboard
      user={user}
      workspaceKey={workspaceKey}
      adapter={createLocalAdapter({ storageKey: "product-onboard" })}
    />
  );
}

Fit

Built for small production SaaS.

Onboard embed at 100% after host-complete required steps. Buy this for a first-run checklist, not a digital adoption platform.

Buy this if

  • You need a first-run setup checklist inside your authenticated product
  • Your app already knows who the user is and can assert ids plus workspace scope
  • You want host-complete, facts, mixed user/workspace progress, and optional skip
  • You are bootstrapped and $500+/month for a DAP feels absurd
  • You (or your coding agent) need a clean npm install and typed docs

Buy something else if

  • You need product tours, hotspots, or a visual flow builder
  • You want MAU-based pricing, NPS, A/B tests, or a customer data platform
  • You require Bootstrapware to authenticate end users
  • You need email/SMS nudges or realtime co-browsing

Pricing

Workspace pricing. No seat tax.

Dev

Free

Local/demo adapters and test keys forever. Full embed UX for evaluation.

BYO

$9.99 / mo

Live flow config and publishable fetch. You store progress via OnboardAdapter.

Hosted

$19.99 / mo

BYO plus Hosted progress writes and summaries export.

Onboard has its own ladder. The second paid product is 25% off that product's list. The third and later are 35% off list. Onboard pricing, the pricing hub, and the stack calculator.

Guides

Answers for the prompts people actually give.

All guides

Comparison

Userflow is probably better than us.

If you need product tours, adoption analytics, and a visual builder, buy Userflow or Appcues. If you need a first-run checklist with host-complete and mixed progress at $9.99 / $19.99, you probably do not need that.

Agent-native

Tell Cursor to add a setup checklist. Hand it the docs.

Copy the AGENTS.md rules into your repo. Your coding agent gets explicit Path A/B/C rules for identity, BYO vs Hosted, keys, and what never to send through MCP.
Install @bootstrapware/onboard. Add a Client Component using Onboard
with a host-asserted user.id and workspaceKey. Prefer createLocalAdapter for demos,
OnboardAdapter for BYO, or flowId + publishableKey for Hosted.
Never send host context or flags through MCP. Keep secret keys server-side.
Follow https://bootstrapware.co/onboard/docs/agents
Agent integration rules →

Honest limits

Deliberately smaller. Still production-grade.

  • Not product tours, welcome modals, or a visual builder.
  • Not MAU billing, NPS, A/B tests, or inferred click tracking.
  • Not an end-user auth product; your host asserts user id.
  • Hosted stores progress metadata; you own integration-reported summaries content.

FAQ

Questions founders ask first.

Is this a digital adoption platform?

No. Onboard is a first-run setup checklist embed. We do not sell tours, visual builders, CDP, A/B tests, NPS, MAU billing, or inferred click tracking.

What is the difference between BYO and Hosted?

BYO ($9.99) hosts flow config only; you store progress via an adapter. Hosted ($19.99) stores progress and integration-reported summaries on Bootstrapware. Local demo adapters stay free.

Does Bootstrapware authenticate my end users?

No. Your host app asserts an opaque user.id and workspaceKey. Live Hosted requires authorToken minted server-side from your session.

How is this different from Userflow or Appcues?

Those products excel at product tours and adoption analytics. Bootstrapware sells the narrow embed: checklist, host-complete, facts, mixed progress, at $9.99 / $19.99 without MAU tax.

Does Onboard have MCP?

Yes, for flow configuration only, like our other products. Userflow also offers MCP. Our difference is the embed contract, host-complete/facts, mixed progress scope, and pricing.

Will an AI coding agent be able to integrate this?

Yes. One npm install, typed props, AGENTS.md with Path A/B/C, MCP for flow config (never host context), and framework guides for prompts like "add a setup checklist to this Next.js app."

Before you spend the weekend building a setup checklist, or $500+/mo on a DAP, try this.

Production software without venture pricing.