Hey HN, I built FeatureDrop — an open-source alternative to Pendo/Appcues/Beamer for product adoption.
The core idea: instead of server-side analytics pipelines that need weeks of data, FeatureDrop runs a behavioral engine entirely in the browser (localStorage). It tracks session patterns, detects notification fatigue, and picks the right format (badge, toast, modal) per user — from the first session.
v3 just shipped with:
- AdoptionEngine (4 kB) — BehaviorTracker, TimingOptimizer, FormatSelector, AdoptionScorer
- 11 framework integrations (React, Vue, Svelte, Solid, Preact, Angular, Web Components + SSR for Next.js, Remix, Astro, Nuxt)
- shadcn/ui registry — 5 components installable via `npx shadcn add`
- MCP server so AI editors (Claude Code, Cursor, VS Code) understand the library
Core is 3 kB gzip, engine is 4 kB gzip, zero runtime dependencies. 479 tests. MIT licensed.
The tradeoff vs server-side tools: you get instant decisions with no data collection, but you lose cross-device persistence and team-wide analytics. For most indie/small SaaS apps, that's a good tradeoff.
Hey HN, I built FeatureDrop — an open-source alternative to Pendo/Appcues/Beamer for product adoption.
The core idea: instead of server-side analytics pipelines that need weeks of data, FeatureDrop runs a behavioral engine entirely in the browser (localStorage). It tracks session patterns, detects notification fatigue, and picks the right format (badge, toast, modal) per user — from the first session.
v3 just shipped with:
- AdoptionEngine (4 kB) — BehaviorTracker, TimingOptimizer, FormatSelector, AdoptionScorer - 11 framework integrations (React, Vue, Svelte, Solid, Preact, Angular, Web Components + SSR for Next.js, Remix, Astro, Nuxt) - shadcn/ui registry — 5 components installable via `npx shadcn add` - MCP server so AI editors (Claude Code, Cursor, VS Code) understand the library
Core is 3 kB gzip, engine is 4 kB gzip, zero runtime dependencies. 479 tests. MIT licensed.
The tradeoff vs server-side tools: you get instant decisions with no data collection, but you lose cross-device persistence and team-wide analytics. For most indie/small SaaS apps, that's a good tradeoff.
Docs: https://featuredrop.dev
GitHub - https://github.com/GLINCKER/featuredrop
Happy to answer questions about the architecture or the behavioral heuristics.