Calibrating your baseline
A score appears after your usable 30-second baseline.
LearnFit estimates changes in focus during a screen-based study task by comparing three eye signals with your personal baseline. For task-aware tracking across tabs, use the Chrome extension.
Studying across Chrome tabs? Get the extension →
Loading the private tracking runtime. If asked, allow camera access in your browser.
◇Camera processing stays on this device. LearnFit automatically adds each completed session to identifier-free usage totals. Detailed research data is sent only if you select the testing option. LearnFit never uploads video, eye measurements, page addresses, or titles.
LearnFit compares blink frequency, completed blink duration, and eye openness with your own 30-second baseline. Normal blinking is expected and measured.
Web limitation: the session clock continues when you change tabs or windows, but the browser may slow or stop camera processing in the background. That time becomes No signal and is excluded from the focus estimate. This website cannot know whether another tab is study or entertainment; use the Chrome extension for verified study pages.
Keep your face in view for 30 seconds of usable tracking.
Web limitation · The clock keeps running across tab or window changes. Background camera processing may stop, so those seconds can become No signal and will not affect your focus estimate.
Calibrating your baseline
A score appears after your usable 30-second baseline.
You do not need to stare at the camera. Look at your study material naturally and blink as usual. Looking down or away may create a gap; a gap is missing data, not a penalty. Video stays on this device.
Colors compare observed eye patterns with your personal baseline. They are an estimate to reflect on, not proof of your complete mental focus.
A short observation of your typical eye behavior, unique to this session.
Component scores become available after calibration.
On this website, keep LearnFit visible beside your task. The extension adds local task-page verification so time on other tabs is excluded.
Your reflections are separate from the eye-behavior score.
Choose the Chrome webpages, online lessons, and PDFs that belong to your task. The extension runs camera tracking independently of this website while Chrome stays open. It pauses scoring on unconfirmed pages. Independent desktop apps are not recognized.
Download Chrome extension · ZIP ↓
Manual installation: this build is not a Chrome Web Store listing. Downloading does not install it automatically. Use desktop Chrome; managed school browsers may restrict installation.
chrome://extensions in Chrome’s address bar and turn on Developer mode.extension/chrome—the folder containing manifest.json.Already installed from a different folder? Keep using that installation until your session ends. To update it, replace its files with this version and click Reload on its Chrome extensions card.
Camera frames and page addresses stay on your device. Read the privacy details. Open How to use inside the extension for the four-step guide.
Hi, I’m Xiyue, the creator of LearnFit. Fixed study timers can be helpful, but I don’t think one schedule fits everyone. I started this project to explore how we might notice changes in our focus, reflect on them, and find a way of studying that feels right for us.
One thing user feedback has made clear: leaving this page does not mean you stopped learning. You might be reading a textbook in another tab or checking your notes. A browser event cannot tell me what you are thinking, and a missing camera signal should never become a judgment about your effort.
I see the website as a quick, no-install place to try a personal baseline, explore your signal, and reflect on a session. The Chrome extension is for studying across chosen browser tabs. Confirming a page provides task context; it does not prove that someone is concentrating.
What works today: the web session clock continues across tab and window changes. Browsers may interrupt camera processing in the background, so unobserved time becomes No signal and is excluded from the focus estimate. The website cannot verify what happens in another tab; the extension can verify selected Chrome study pages.
LearnFit’s Focus Estimate is an experimental estimate based on eye signals, not a validated measurement of everything happening in your mind. My goal is to help you ask better questions about your own study habits—not give you another number to feel anxious about. Your feedback helps me find where the tool gets that wrong.
— Xiyue, creator of LearnFit · September 26, 2026
Open each chapter to see what I noticed, what I changed, and what the work taught me.
I added a four-step English tutorial to the website and extension, with Skip and a permanent How to use entry. It explains camera setup, page confirmation, missing signals, and report coverage.
I also reconsidered the web timer: reading in another tab must not be mistaken for disengagement. The next planned update will separate session time from valid observation time and keep the session timer running across tab switches. The current web version still pauses when its tab or window loses focus.
Pomodoro timers helped me, but my own limit changed by task and by day. I began asking whether a tool could help learners discover a rhythm instead of prescribing one.
The Python version connected MediaPipe, EAR, blink detection, a score, WebSocket, and a dashboard. It worked—and immediately exposed camera, threshold, and missing-data problems.
I rebuilt blink counting as a state machine, separated quick blinks from long closures, added a 30-second baseline, and stopped trusting one noisy frame.
I moved MediaPipe and the scoring engine into browser JavaScript, separated the core modules, and made the first Chrome extension while keeping camera processing on-device.
I kept the 50/30/20 structure but compared it with each learner’s baseline, showed tracking gaps honestly, removed pupil-millimeter claims, and redesigned the interface.
An offscreen Chrome extension can continue a user-started session across ordinary tabs. I also added consent-based testing, a research dashboard, and the public Pages deployment.
The extension now scores only pages the learner verifies, separates off-task and no-signal time, and withholds a final focus estimate when tracking coverage is below 60%.