Stop guessing why your client's site is broken.

Catch the JS errors, rage clicks, broken forms, and dead buttons before your client emails you. One composer install. A @harvv Blade directive. Free for your portfolio.

1. Install20s
$composer require harvv/laravel
2. Configure10s
$php artisan harvv:install
3. Render30s
@harvv {{-- in your master layout, above </head> --}}

Or paste a 6-line snippet — works on any Laravel, WordPress, or static site.

Built for Laravel 11, 12, and 13. Works with Forge, Vapor, Filament, Livewire, Inertia.

The 7pm Slack message

When the client says "something's wrong with the site."

Your Lighthouse score is 95. Your tests pass. You deployed clean. Then the email comes: "My users can't checkout" or "the site is slow" or just "something's broken — can you look?"

You can't reproduce it. You ask for screenshots. You ask for browser and device. You spend the evening trying every combination on BrowserStack. You eventually push back: "works on my end." The client goes quiet. A week later they hire someone else.

The bug was real. It was a Safari iOS rendering glitch on the checkout form that fires only when the user has autofill enabled. You would never have found it. Now you've lost the client and your reputation took a hit.

Harvv is the diagnostic pixel that watches what your code actually does on your client's real users. JS errors, rage clicks, dead form fields, Core Web Vital regressions — captured with the user's browser, device, and the exact action that triggered the issue. So when the client emails, you have the answer ready in 30 seconds.

First 5 minutes

What you'll see in the first 5 minutes after install.

JS Errors

Every uncaught error, with stack trace, user agent, route, and the sequence of clicks that led to it.

Rage Clicks & Dead Buttons

When users click the same element 3+ times in 2 seconds, you'll know. Includes the exact element and the route.

Form Friction

Field-level abandonment, keyboard errors, copy-paste patterns. Find why users bail mid-form.

Laravel-native

Built the way Laravel packages should be.

Auto-discovery. Sensible defaults. Out-of-the-box environment awareness. The install command does the boring parts.

1. composer.json

Install

composer require harvv/laravel
2. .env

Configure

HARVV_SITE_KEY=your_site_key_here
HARVV_HMAC_SECRET=auto_generated_by_install
3. your layout

Render

<head>
    ...
    @harvv
</head>
  • Auto-discovery — no manual provider registration
  • Blade directive @harvv and component <x-harvv-pixel />
  • Environment-aware (dev / staging / prod toggles via .env)
  • Optional middleware for server-side context (route name, hashed user ID, request ID attached to every browser event)
  • Compatible with Forge, Vapor, and shared hosting (cPanel)
  • Compatible with Filament, Livewire, Inertia, and Nova
  • One artisan command to verify install: php artisan harvv:verify

The wedge

What a generic JS pixel sees vs. what Harvv Laravel sees.

A browser-only pixel can capture the URL, the element, the click coordinates, and the timestamp. That's table stakes. Harvv's optional Laravel middleware attaches the per-request server context the pixel can't see on its own — turning a "rage click on /checkout" into "rage click on the checkout.show route, by an authenticated user, on their third attempt this session."

Without Harvv Laravel · JS pixel only
event:     rage_click
url:       /checkout
element:   button.btn-primary
x:         284
y:         412
time:      2026-05-11 14:23:08
↓ with Harvv Laravel ↓
With Harvv Laravel · server context attached
event:           rage_click
url:             /checkout
element:         button.btn-primary
x:               284
y:               412
time:            2026-05-11 14:23:08
route:           checkout.show
auth_state:      authenticated
user_id_hash:    a3f7c2e…
session_attempt: 3
request_id:      req_abc123

Our optional middleware injects per-request server context. The pixel attaches it to every event. You see what happened, who it happened to, on which route, with which session state. User IDs are SHA-256 hashed with your site key by default — Harvv never sees your primary keys.

Compatibility

Tested where it counts.

Framework / RuntimeStatusNotes
Laravel 13.x✓ Fully supportedCurrent major, recommended
Laravel 12.x✓ Fully supportedStable, in active support
Laravel 11.x✓ SupportedSecurity-only — upgrade recommended
Laravel 10.x and belowUse the JS snippetComposer package targets 11+
PHP 8.2✓ Required (Laravel 11/12)
PHP 8.3✓ Required (Laravel 13)
Shared hosting (cPanel)✓ WorksNo SSH required for setup
Forge / Vapor✓ WorksStandard env-var setup
Filament / Livewire / Inertia✓ CompatibleNo conflicts

Agency mode

Manage every client site under one account.

  • One Harvv account, unlimited client sites under the Agency tier
  • White-label client emails — your brand, our data
  • Send clients a monthly "issues detected and fixed" report from your agency address

Built for the Laravel agency owner who's tired of explaining what they did this month.

See Agency tier pricing →

Transparency

What this isn't.

Not a Sentry replacement. Harvv watches what happens in your user's browser. Server-side errors, queue failures, and exceptions still belong in Sentry or Laravel's built-in logging. We complement, we don't replace.
Not session replay. We don't record video of your users. We detect issues — broken forms, rage clicks, JS errors, Core Web Vitals — and suggest fixes. If you need session replay, dedicated tools like Microsoft Clarity (free) exist. They watch behavior; we diagnose problems.
Not a marketing analytics tool. GA4 tells you traffic sources. Harvv tells you what broke on the page. Use both.

Pricing

Free for your portfolio. Paid when it pays.

No credit card required. Every plan includes the full pixel and case management.

Free
$0/month

For your portfolio site, or your first client install.

  • 1 site
  • All event detection features
  • 90-day data retention
  • Email support
  • No credit card required
Start free
Agency
$49/site/month

Unlimited sites, white-label, monthly client reports.

  • Unlimited client sites under one account
  • White-label client emails
  • Agency dashboard with multi-site overview
  • 3-site minimum
  • Prorated refunds, cancel anytime
Start Agency

International cards accepted. If your bank issues a USD virtual card or you use a service like Payoneer or Wise, it'll work the same as a regular card. If your card declines, email support@harvv.com — we'll find a way.

FAQ

The questions you'd ask before installing.

Will Harvv slow down my client's site?
The pixel is 15.6 KB gzipped, loads async, and doesn't block rendering. It's smaller than most Google Tag Manager containers. We test Core Web Vitals on every release. If Harvv measurably degrades your Lighthouse score, email us — we'll refund you.
Does Harvv work on shared hosting (cPanel)?
Yes. The composer package works on any hosting that supports PHP 8.2+. The artisan install command has a fallback for environments without SSH access — you can configure manually via a config file or by setting env vars in cPanel.
My client uses WordPress / Shopify / a non-Laravel CMS. Can I still use Harvv?
Yes. The Laravel-native install is the recommended path for Laravel projects, but Harvv works on any site via a standard JS snippet. We have a WordPress plugin and code snippets for everything else.
What data does Harvv collect?
Browser events (clicks, scrolls, form interactions, errors, performance metrics). No PII by default — we automatically strip emails, phone numbers, and credit card patterns from event payloads server-side. See our Privacy page for the full disclosure.
Is Harvv GDPR-friendly?
Harvv respects your site's cookie consent banner via window.__harvvConsent() and honors Global Privacy Control headers. For full GDPR compliance, your site needs a consent banner; Harvv will respect what it tells us. We do not store IP addresses against events.
Where is my data stored?
PostgreSQL on Railway (US region). If you need EU residency for GDPR Article 44 compliance, we don't currently offer that — contact us if this is a blocker.
Can I uninstall easily?
composer remove harvv/laravel. Then remove the @harvv directive from your layout. Done. We won't hold your data hostage — request deletion via support and we'll wipe within 7 days.
Does the free tier require a credit card?
No. Sign up with email, get your site key, install the pixel. We ask for payment information only if you upgrade to Pro or Agency. Cancel anytime.
Is $29/month worth it for a portfolio site or freelance setup?
Probably not yet. Start with the free tier — one site, all features, no card required. When you have a paying client who'd benefit from the diagnostic and reporting tools, or when you want to manage 3+ sites under one account, the Pro tier earns its cost in one prevented client complaint. Most freelancers run free for 6–12 months before upgrading. That's the intended path.

Install Harvv on your portfolio in 2 minutes.

Start with your own site. Add client sites later.

Get your site key — free Chat on WhatsApp
$composer require harvv/laravel

No credit card required. Cancel anytime. International cards accepted — Visa, Mastercard, plus most USD virtual cards including Payoneer and Wise.