Skip to main content

Blog

Tutorials, comparisons, and field notes on React product tours and onboarding. New articles weekly.

RSS feed
Deep-Dives
The state machine pattern for complex tour flowsModel product tours as finite state machines using XState v5 and Tour Kit. Eliminate impossible states, add conditional branching, and test flows with model-based testing.Apr 8 · 9 min read
Integrations
Tour Kit + Storybook: documenting tour components in isolationBuild and test product tour components in Storybook with Autodocs, play functions, and the a11y addon. Working TypeScript examples included.Apr 9 · 9 min read
Integrations
Tour Kit + Supabase: tracking tour state per userPersist product tour progress in Supabase PostgreSQL with Row Level Security. Replace localStorage with cross-device tour state in under 100 lines.Apr 9 · 8 min read
Integrations
Tour Kit + TanStack Router: multi-page tours with type safetyBuild type-safe multi-page product tours with Tour Kit and TanStack Router. Route context, beforeLoad guards, and typed search params for onboarding flows.Apr 9 · 8 min read
Deep-Dives
How Tour Kit ships at 8KB gzipped with zero runtime dependenciesA technical breakdown of the architecture decisions that keep Tour Kit under 8.1KB gzipped. Tree-shaking, code splitting, peer dependencies, and tsup config.Apr 8 · 11 min read
Integrations
Tour Kit + Clerk: role-based tours with auth contextBuild role-based product tours using Clerk's useAuth and useOrganization hooks with Tour Kit. TypeScript examples for admin, member, and custom role onboarding.Apr 9 · 9 min read
Integrations
Tour Kit + Formbricks: in-app surveys after tour completionWire Tour Kit's onComplete callback to Formbricks surveys for post-tour NPS, CSAT, and custom feedback. Open source stack with working TypeScript examples.Apr 9 · 9 min read
Build vs Buy
Can you use Tour Kit without the Pro license? (free vs Pro breakdown)See exactly what Tour Kit's free MIT packages include and when the $99 Pro license becomes worth it. Package-by-package comparison with code examples.Apr 9 · 10 min read
Integrations
Tour Kit + HubSpot: trigger CRM workflows from tour completionWire Tour Kit's onComplete callback to HubSpot's Contacts API. Update lifecycle stages and automate CRM follow-ups with TypeScript code.Apr 9 · 8 min read
Integrations
Tour Kit + LaunchDarkly: feature-flagged onboarding flowsWire LaunchDarkly feature flags into Tour Kit to show the right onboarding flow per cohort. TypeScript guide with kill switches and rollouts.Apr 9 · 9 min read
Integrations
Tour Kit + Lemon Squeezy: handling license validation for Pro featuresWire Lemon Squeezy license keys to Tour Kit Pro feature gating in React. Server-side validation, client caching, and the three gotchas we hit.Apr 9 · 9 min read
Integrations
Tour Kit + Novu: omnichannel onboarding notificationsConnect Tour Kit tour events to Novu's notification infrastructure for omnichannel onboarding. Send emails, push, and in-app messages based on tour behavior.Apr 9 · 10 min read
Integrations
Tour Kit + OpenTelemetry: observability for onboarding flowsBuild an OpenTelemetry plugin for Tour Kit that turns tour events into distributed traces. TypeScript code, OTel Collector setup, and Jaeger visualization.Apr 9 · 7 min read
Integrations
Tour Kit + Polar.sh: managing Pro subscriptions with license keysWire Polar.sh license keys to Tour Kit Pro packages in React. Client-side validation, activation limits, and the real cost at international scale.Apr 9 · 9 min read
Build vs Buy
How we set Tour Kit's price at $99 (building in public)The real pricing decision behind Tour Kit's $99 one-time license. Unit economics, anchoring psychology, and why we left subscription revenue on the table.Apr 9 · 10 min read
Integrations
Tour Kit + Prisma: storing tour progress in your databaseStore product tour progress in PostgreSQL with Prisma ORM. Replace localStorage with cross-device, queryable tour state using React Server Components.Apr 9 · 9 min read
Integrations
Tour Kit + React Email: onboarding emails that continue the tourConnect Tour Kit analytics callbacks to React Email and Resend to send behavior-based onboarding emails. Working TypeScript code for multi-channel onboarding.Apr 9 · 7 min read
Integrations
Tour Kit + Sentry: catch tour errors before users report themWire Tour Kit callbacks to Sentry breadcrumbs and error boundaries so tour failures surface in your dashboard, not in support tickets. TypeScript examples.Apr 9 · 7 min read
Integrations
Tour Kit + Stripe Billing: show upgrade tours at the right timeConnect Stripe webhook events to contextual product tours in React. Trigger upgrade prompts on trial expiry, feature limits, and payment failures.Apr 9 · 9 min read
Deep-Dives
Tree-shaking product tour libraries: what actually gets removed?We tested five React tour libraries with Vite's bundle analyzer. See what tree-shaking removes and how to verify it yourself.Apr 8 · 11 min read