letmesplain
hero

Your app can explain itself.

Splain is a self-hosted Laravel / Filament plugin for guided walkthroughs that spotlight your real UI — through modals, dropdowns, and across pages. Every step is anchored to your code, a checker replays every guide before anything ships, and a model you configure drafts the first pass. The guidance your users see runs entirely inside your app.

Read the docs
wears-your-clothes

Same guide. Your clothes.

Splain's launcher and popovers absorb the host app's own design tokens — the same walkthrough looks native in every product it lands in. Flip the theme, then play the walkthrough: what re-skins below is the real playback engine reading the page's CSS variables, exactly as it does inside a Filament panel.

Dress it as:
Northwind.

Customers

NamePlanStatus
Sable & Co.GrowthActive
Marigold LabsStarterActive
Fernwood GroupEnterpriseTrial

No mock popovers, no video: this page loads Splain's shipped free-tier bundle, and the demo app is just HTML wearing three sets of design tokens. The dot in the corner is real too — it tours this very page.

receipts

Every beat below is shipped and demo-able.

Spotlights the real UI

Guides advance when users actually complete the step — not when they click "next" on faith. A failed validation doesn't fool it; a decision branches it.

Follows across pages

Finish a page's steps, click the highlighted nav link, and the guide resumes on arrival. Hand-offs expire quietly instead of ambushing anyone later.

Can't silently rot

splain:check simulates playback on every page before anything ships — unreachable steps, dead ends, and broken hand-offs fail loudly. The --drift gate fails your CI when code deletes an anchor a guide depends on.

Drafted by your model

splain:generate reads your code and drafts guides through an endpoint you configure — your key, your perimeter, your call. Splain ships no key and no default endpoint. Drafts land unpublished, flagged for review.

Humans gate publishing

The Studio flags every step the generator wasn't sure about; you resolve them by clicking the real element on the real page. Publishing requires zero errors, zero open flags, and a named sign-off that the guide reflects how the work is really done.

Onboarding you can see

Ordered tracks give new users a checklist with a clear next step; server-side progress (off by default) stores a pointer to your user — never a copy of personal data — and powers an honest completion report.

honest-scope

Splain says its own limits out loud.

In the product, in the docs, and here. Honesty is the differentiator, so it gets a component:

In-perimeter, precisely scoped. The guidance your users see runs entirely in your app — no third-party script, no external calls at runtime. Generation is the one deliberate crossing: your code goes to the endpoint you configure. You own that crossing.
Privacy Mode is a presentation aid, not a security control. One toggle blurs flagged fields and covers document scans so you can record tutorials with zero post-production — but the data remains in the page. Never rely on it for security.
Release pending. Splain is in the proving stage: it runs in production-shaped hosts and a public release is being prepared — but it is not on Packagist yet and the license is still being finalized. What this site claims is what the code does today.
quickstart

The whole install, honestly.

composer require splain/splain        # release pending — see the note below
php artisan vendor:publish --tag=splain-migrations
php artisan migrate
php artisan filament:assets

# then, on any Filament panel:
#   ->plugin(SplainPlugin::make())

php artisan splain:doctor             # verifies the install end to end

The Packagist release is pending license finalization — today Splain installs via a private repository for early-access hosts. Ask about early access.

pricing-posture

Planned pricing.

The boundary is real (it's enforced in the package's architecture); the prices are being decided. The posture: everything an individual developer needs is free — teams pay for the organizational layer.

Free

for every host, forever

  • The playback engine & launcher
  • splain:check + the CI drift gate
  • Privacy Mode
  • Guides-as-code (export / import)
  • Tracks & the learner checklist
  • Server-side progress recording

Pro

for teams — planned

  • The Studio: visual design mode on the live page
  • Review inbox & attested publishing gate
  • Generation (bring-your-own model)
  • Visual track builder & assignment
  • Onboarding completion report
proving-ground

Proven where guidance is hardest.

Splain has been a standalone package from day one — and it earns its claims against a live staffing platform: real workflows, real privacy stakes, real users who need the walkthrough to be right. Every feature on this page shipped only after playing end-to-end there. The longer story →