Triage the noise. Flag the rest.
Paste a batch of comments, tickets, or messages. Sift asks a decision model a few typed questions about each one — is it spam? is it toxic? which team? how urgent? — and sorts every item into Approve / Review / Remove by confidence. The routine items auto-sort; the uncertain ones get flagged for a human.
No essays, no JSON to parse — just a calibrated verdict per item.
- Free. Runs in your browser. No account with us.
- You pay from your own Pollen budget (Bring Your Own Pollen) — a small, time-boxed, revocable amount you approve. We never see or hold a secret key.
- It only labels. Sift never deletes, bans, or acts. It's the cheap first layer of a moderation/triage pipeline; you (or your system) decide what to do.
Powered by Pollinations' typed-decision endpoint
(jev). Curious what a "decision model" is? See
awesome-jev-family.
- Connect Pollen — approve a small budget via OAuth (PKCE, no secret in the browser).
- Paste items — one per line (support tickets, comments, PR titles, anything).
- Set a policy — your routing buckets and the confidence thresholds.
- Sift it — one
/alpha/decisionscall per item returns calibrated probabilities; your thresholds (not the model) decide the verdict.
Each item gets: a verdict, a route (Choice), a priority (Score), and spam/toxicity probability bars.
It's static — any static server works. From this folder:
python -m http.server 8000
# open http://localhost:8000/You need a Pollinations App Key first (see below), then set it in config.js.
- Go to enter.pollinations.ai/keys → Create New App Key.
- Add your Redirect URIs (exact match):
- your deployed URL, e.g.
https://YOURNAME.github.io/sift/ - a local one, e.g.
http://localhost:8000/(loopback matches any port)
- your deployed URL, e.g.
- Copy the
pk_…key intoconfig.jsasCLIENT_ID.
The pk_ App Key is a public client id — safe to ship in the browser. It is
not a secret. Never put an sk_ secret key in this app.
Push to main, enable Pages (root), and your app is live at
https://YOURNAME.github.io/sift/. Make sure that exact URL is a Redirect URI on
your App Key.
- Is: a fast, cheap, confidence-gated batch triage/moderation front-end.
- Isn't: a hosted service, a database, or an auto-moderator. It labels and flags; it never takes destructive action. Probabilities are the model's; the thresholds are yours. Test them on your own data before trusting a cutoff.
| File | Purpose |
|---|---|
index.html |
Single-page UI (input · policy · results). |
styles.css |
Styling; the probability bars are the visual hook. |
config.js |
Your App Key + endpoints. Edit this. |
auth.js |
BYOP OAuth 2.1 + PKCE (S256). |
decisions.js |
/alpha/decisions calls, batching, confidence bucketing. |
examples.js |
Preloaded example batches. |
app.js |
UI controller. |
Built on Pollinations. Auth follows the Connect User Wallets (BYOP) guide. UX pattern inspired by GitMuse.
MIT