Skip to content

Repository files navigation

Qualm

The first screen-time app built on Kev and Jev.
Local-first on Apple silicon Macs.

A second thought before the scroll. Qualm reads your screen and steps in when you drift into endless short video, feeds or livestreams, and stays out of the way when you're learning or working.

Website · Download · Manual

Qualm's pop-up over YouTube Shorts: This looks like short videos made for endless swiping. Take me back.

Why Kev and Jev

A blocker sees a site. But YouTube is a lecture and a Shorts feed, and Reddit is the thread that fixes your error and r/popular after it. Block the site and you lose the lecture; allow it and you get the feed.

Kev and TypeSafe's Jev are "System One" models: they answer typed questions about a text, all in one pass, with a calibrated probability on each. So on every new screen Qualm asks what kind of page it is, whether it's for learning, work or entertainment, whether it's private, and how likely it breaks each of your rules. Plain code decides from there. The lecture stays; the Shorts get a pop-up.

Your rules are sentences, not site lists: "short videos made for endless swiping" catches a site nobody listed.

Local-first

Kev, on your Mac (default) Jev, hosted
Model Kev-4B, 8-bit for MLX, Apache-2.0 Jev 1.13, TypeSafe's API
Each check about 1 s about 0.2 s
What leaves the Mac nothing but a daily check for a new version the text of each new screen, to TypeSafe
Needs M1 or later, macOS 14, 6–7 GB of memory free a TypeSafe API key, about $1 a month

With Kev, the app does the rest: it downloads the model and its runtime once (about 6 GB), starts it, and stops it when you quit. No Python, no terminal, no account. Jev is yours to pick in setup, never a fallback: if the local model is down, Qualm doesn't quietly switch to the hosted one.

What it does

  • A pop-up that says why. Take me back is the default; I need it opens after a short wait.
  • Check-ins, not daily budgets. For videos and social media it asks what you're there for, and for 5, 15 or 30 minutes, then stays quiet.
  • Focus sessions that remind you of your own words.
  • A dashboard with no score and no streak. Your answers tune the thresholds.
  • Rule changes through your AI agent (Claude Code, Codex, Cursor), which can test each change on your own recent screens first. Setup gives Claude Code Qualm's skill, so any session knows it.

Check in: what are you here for, and for how long? You're here to: write the pitch deck.

Get started

Download Qualm.dmg from Releases, drag Qualm to Applications and open it. It isn't notarized yet, so macOS blocks the first open: click Open Anyway in System Settings > Privacy & Security. Setup asks four things: where the model runs, Accessibility, which rules to start with, and whether to open at login.

Qualm checks GitHub for a new version once a day and says so in the menu bar; it installs only when you say so. The check sends nothing about you or your screen, and Check for updates automatically in the menu turns it off.

From source, with uv:

git clone https://github.com/RoderickQiu/qualm && cd qualm
uv sync
uv run qualm setup
uv run qualm app

How well it works

On 119 trial pages, with Kev on the Mac, the short video, feeds, livestream and video rules never stepped in where they shouldn't have (precision 1.00; social media 0.88). The trial set is easier than real life; the numbers and their caveats are in the manual, under How well it works.

More

Qualm is an early prototype, used by its author since September 2026: Apple silicon only, English interface, rules in any language. It's a desktop take on SeeNot, an Android research app from SUSTech.

Made by Tianrun Qiu with Claude Code. Qualm is free software under the GNU GPL v3 or any later version.

About

The first screen-time app built on Kev and Jev. Local-first on Apple silicon for free & privacy. Blocks the mechanism (Shorts, feeds, livestreams), not the site or app.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages