Skip to content

Scoutify

⌘K global search modal for Laravel — multi-model Livewire UI powered by Scout.

⌘K Modal

Drop-in Livewire global search modal with grouped results, accent-insensitive highlighting, and keyboard navigation out of the box.

Multi-driver

Works with Meilisearch, Algolia, Typesense, or the Database driver. Zero coupling to a specific Scout backend.

Fluent Authorization

Per-model visibility rules with a fluent builder. Policies, Gates, Spatie permissions and roles, custom callbacks.

File Preview

Inline PDF, image, and video previews directly in the modal. Models expose a PreviewDto — Scoutify handles signed routes, streaming, and download events.

Artisan Ready

php artisan scoutify:install provisions config, packages, env, and a starter searchable model. Zero-config deployment.

Highly Customizable

Customize icons, colors, labels, and even the query builder per model using standard Eloquent methods.

Production Tested

Comprehensive test suite, PHPStan level 5 static analysis, and optimized for performance with large datasets.

namespace App\Models;
use Matheusmarnt\Scoutify\Concerns\Searchable;
use Matheusmarnt\Scoutify\Contracts\GloballySearchable;
use Illuminate\Database\Eloquent\Model;
class Article extends Model implements GloballySearchable
{
use Searchable;
public function globalSearchTitle(): string { return $this->title; }
public function globalSearchUrl(): string { return route('articles.show', $this); }
}
StackVersions
PHP8.2 · 8.3 · 8.4
Laravel11 · 12
Livewire3 · 4
Scout10 · 11