First stable release
A Laravel-native performance audit dashboard built on Livewire 4 + Flux Free 2 + Tailwind 4, with full support for Laravel 11 / 12 / 13.
Audit drivers
- · Lighthouse audits with four interchangeable drivers (local, playwright, pagespeed, stub). Each returns Performance / Accessibility / Best Practices / SEO scores plus raw metric values (LCP, INP, CLS, TTFB, FCP, TBT, Speed Index).
- · Backend telemetry — query count, query time, N+1 suspicion, peak memory, views rendered, jobs dispatched, events fired, cache hits/misses. Sampled via a signed X-Vitals-Audit-Id header so production traffic is never affected.
- · Code analysis — static scanners attach exact file:line references to Lighthouse findings by reading Blade views, Vite config, and composer.json.
Surfaces
- · /vitals — overview with health snapshot and sparkline trends across all monitored URLs.
- · /vitals/urls and /vitals/urls/{id} — per-URL detail with audit history, average scores, period filter, and metric toggle.
- · /vitals/audits/{id} — full audit detail with score gauges, Core Web Vitals cards, front-end ↔ back-end breakdown, severity-tinted recommendations.
- · /vitals/issues — top issues, regressions, and all recommendations grouped by audit key.
- · /vitals/seo — cross-URL SEO overview with custom check breakdown, top failing checks, and category filter.
- · /vitals/rum — Real User Monitoring with INP attribution (element + event type).
- · /vitals/queries — per-route query baselines with N+1 surfacing and repeated SQL patterns.
- · /vitals/learn — knowledge base of every detectable issue, browsable by category with code snippets.
- · /vitals/budgets — per-metric thresholds with violation history.
- · Spotlight (Cmd/Ctrl+K) — global search across audits, URLs, recommendations, and learn entries.
SEO checks subsystem
- · 22 checks aligned with Google's 2026 best practices — Configuration (3), Content (5), Meta (7), Performance (7).
- · The Audit::vitals_seo_score accessor blends Lighthouse SEO (50%) with the weighted custom-check pass rate (50%), producing a stricter 0–100 score.
Real User Monitoring
- · @vitalsRum Blade directive — lightweight (~11 KB, gzip ~4 KB), uses web-vitals v4 with attribution data.
- · Privacy-respecting: no IP storage, no fingerprinting.
- · INP attribution: extracts the slowest interaction's target selector + event type so you can fix the right element.
Developer affordances
- · Open in editor — 11 editor presets (VSCode, Cursor, PHPStorm, IntelliJ IDEA, Sublime Text, Atom, TextMate, MacVim, Emacs, Nova, Zed). Custom templates via VITALS_EDITOR_URL_TEMPLATE.
- · JSON API v1 — /vitals/api/v1/{audits,urls,recommendations} with pagination, date filtering, and viewVitals Gate-protected access.
- · Demo seeder — php artisan vitals:demo populates synthetic data so the dashboard is explorable before any real audits run.
Notifications
- · Email + Slack channels for Regression Detected and Budget Violated events.
- · Slack messages thread per URL — subsequent regressions reply to the original post.
i18n
- · Full UI in EN, FR, DE, ES — ~1100 translation strings across pages, components, recommendations, SEO check titles/descriptions/hints, and tooltips.
Theme
- · OKLCH-native palette with rose accent and tinted-neutral ink scale.
- · Self-hosted Geist Sans + Geist Mono via @fontsource-variable.
- · Light + dark mode driven by a .dark class on <html>, persisted via the navbar toggle.
Tests
- · 550+ Pest tests (unit + feature + integration) covering audit pipelines, SEO checks, Livewire components, JSON API, notifications, telemetry capture, and budget evaluation. PHPStan level max, no baseline.