---
title: Introduction
description: Filter, rank, and classify Postgres rows in plain language.
order: 0
group: getting-started
---

Write the condition the way you would say it. Postgres does the rest.

```sql
SELECT * FROM reviews
WHERE jev(reviews, 'the customer sounds frustrated');
```

`jev()` is an ordinary SQL function. It judges each row with [TypeSafe's Jev](https://docs.typesafe.ai) and returns a boolean, a probability, a rubric score, or a class. No index, no embeddings, no vector column.

It composes with the rest of the query: `AND age > 40`, joins, `GROUP BY`, `ORDER BY jev_prob(...)`.

```sql
SELECT subject, jev_prob(tickets, 'the customer is angry') AS p
FROM tickets
ORDER BY p DESC
LIMIT 20;
```

Every row still goes to the API. That is by design. See [How it works](/docs/how-it-works) if you need the batching and cache, and [Where it runs](/docs/getting-started/where-it-runs) before you install.

Next: [Installation](/docs/getting-started/installation) or [Quick start](/docs/getting-started/quick-start).
