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.
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.
| 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.
- 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.
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 appOn 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.
- Website: the pop-up, the check-in and the decision, live in the browser
- Manual: setup in full, permissions, commands, privacy, the numbers
- Kev or Jev: speed, memory, cost, and what leaves the Mac
- Changing rules · Why check-ins, not daily budgets · Design notes and status
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.


