Your eyes are
tired. Prove it.

blinkwell is an on-device eye-fatigue monitor. Every ~10 minutes it opens your camera for a 60-second check — blink dynamics, eyelid closure, partial blinks — then tells you when it's time for a break and what to do about it. Nothing ever leaves your machine.

Frames uploaded0everything runs on-device
Camera on~10%60 s window every 10 min — LED off between
Binary size7 MBsingle file, model embedded
Fatigue signals8blink dynamics · eyelids · partials · distance · lighting
Personal baseline3checks until scores are vs. your usual
Platforms3Windows · macOS (Apple Silicon) · Linux

How it works

01

Periodic windows

The camera opens for ~60 s every ~10 min — never continuously, and fully released between windows. Your webcam LED is the honest signal.

02

478 landmarks, on-device

MediaPipe Face Landmarker runs locally; frames are processed in memory and discarded instantly. Look away mid-check and the clock pauses — only aligned time counts.

03

Acts, not just measures

When fatigue signals rise vs. your baseline, blinkwell suggests a 20-20-20 break, palming, or full-blink exercises — timed, guided, optional.

What a window sees

0.25 0.5 0.75 0 20 s blink-free gap 0 s 15 30 45 60
illustrative window — the eyelid-closure signal every window measures each spike + dot = one detected blink the silent stretch is what suppresses your blink rate

Commands

blinkwelljust this — it asks once, then monitors: ~60 seconds every ~10 minutes (adjustable)
blinkwell --oncea single guided check right now, then exits
blinkwell historyshows your past checks and trends in the terminal
blinkwell reportopens a page with charts of all your checks

blinkwell --help lists every option, including how often and how long checks run.

Privacy, by construction

No frames leave the device.Zero network calls for video. The only file written is a history.jsonl in your home folder — one line of numbers per check.
Camera is on ~10% of the time.It's opened per window and released immediately — the LED can never silently stay on.
No accounts, no sync.Your baseline and history live in your home directory. Delete the folder, everything is gone.
One honest caveat.The MediaPipe engine may send Google anonymous counters — like which feature ran and how long it took. Your camera frames and results are never sent — they never leave the device.
Wellness tool, not a diagnosis.blinkwell nudges better habits; it doesn't detect disease. Persistent symptoms → see a clinician.

Common questions

Does it record or upload video of me?

No. Frames are analyzed in memory and discarded the instant they're measured — nothing is uploaded, nothing is saved. What remains is one line of numbers per check.

Is the camera on all the time?

No — about 60 seconds every 10 minutes. The camera opens for the check and is released right after; your camera's indicator light shows you exactly when it's live.

Where is my data stored — and how do I delete it?

Everything lives in one folder in your home directory: ~/.blinkwell on Mac and Linux, %USERPROFILE%\.blinkwell on Windows. Delete that folder and your whole history is gone — there's no account and nothing on a server to clean up.

What does it cost? Do I need an account?

Free and open-source (MIT). No account, no email, no sign-up — install and run.

Will it work on my computer?

Yes — Windows (x64 and ARM64), Apple-Silicon Macs and Linux x86_64 get the native app; Intel Macs and Linux ARM run the same program through a one-command Python fallback. The install box above picks the right one for you.