Skip to content

Vibefilter

Filament table filter that scores each row with a Jev Noul on a plain-English statement and keeps rows at or above 0.8.

Pluginbeta

Overview

Vibefilter for Filament turns any sentence into a zero-shot classifier for a Laravel Filament admin table. A user types a statement like "The customer is angry." or "The candidate has worked with Kubernetes.", and each remaining row gets a probability from Jev that the statement is true. The table keeps rows at or above the threshold, 0.8 by default, with no training data, labels or keyword lists.

Rows left by other filters are sent in batches of 100, ten requests in parallel, and scores are cached by text content so repeats are instant and free. The README shows it catching sarcastic reviews that keyword search would miss, and the list summary reports it matched the demo's mood labels on 861 of 1,000 reviews at about $0.003 and one second per statement. It requires PHP 8.2+, Laravel 12.36+ and Filament 5.9+, and a TypeSafe or OpenRouter key.

What the decision model decides

TypeQuestionAnswers
Yes / noIs this statement true of the row (e.g. The customer is angry.)?yes · no

How it works

  1. Add a VibeFilter to a Filament table with text columns.
  2. A user types a statement and applies it.
  3. Rows are sent to Jev in batches; probabilities are cached by content.
  4. Rows at or above the threshold are shown.

Strengths

  • Zero-shot filtering in an admin UI.
  • Content-based caching makes repeats free.
  • Reported 861/1,000 agreement with demo labels at low cost.

Caveats

  • Adds API cost and latency on first use of a statement.
  • Requires recent Filament and Laravel versions.

Getting started

composer require vibefilter/filament

At a glance

Type
Plugin
Status
beta
Language
PHP
Runtime
Laravel Filament plugin
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • Admin panels: Filament table filter that asks Jev a `Noul` per row on a plain-English statement such as "The customer is angry." and keeps the rows at or above 0.8, matching the demo's own mood labels on 861 of 1,000 reviews at about $0.003 and one second per statement, with scores cached by content.

    yibie/awesome-jev
  • Filter Filament tables with a plain-English statement.

    wh000wh000/awesome-jev-live
  • Filter Filament tables with a plain-English statement. Each row is scored by TypeSafe Jev.

    hellogumbo/awesome-jev

Frequently asked questions

What is the default threshold?

0.8.

Are scores cached?

Yes, by text content, so repeat filters are instant and free.

Which providers work?

TypeSafe or OpenRouter.

Related projects

  • DuckDB extension and Python package for semantic SQL that batches row-level filters, joins and classification on Jev.

    PluginresearchC++
  • Web tool that analyses Telegram channel JSON exports locally for intent, quality, sentiment and speaker tone with Jev.

    Articleprototype
  • jev-arena★ 122

    Side-by-side tool comparing Jev and DeepSeek on labelling the same comments for relevance, sentiment and intent, with replay and reports.

    ProjectbetaTypeScript
  • DuckDB extension adding decide_probability, decide_choice and decide_score SQL functions backed by Jev or local open decision models.

    PluginbetaC++
  • dbt package whose macros run Jev Choice, Noul and Score over SQL values in DuckDB and ClickHouse models.

    ProjectbetaSQL (Jinja)
  • DuckDB extension that asks Jev about every row in SQL and returns answers as ENUM, DOUBLE or STRUCT columns.

    PluginbetaC++