Setup & privacy
The website shows a native screenshot of the desktop settings and study panel. It doesn’t open your camera, record your microphone, or call an AI model. The captured app interface is in Korean.
The desktop preview
The v0.8 app shows voice answers and look-away reminders in a separate translucent bottom-right bubble. Settings and study history open in the larger panel shown on this site. Questions include a frozen screenshot and optional study files. Automated tests and a synthetic Korean speech-and-screen example have been run. Real-world gaze accuracy, false alarms, and global shortcuts over browsers and PDF readers still need device testing.
The website is in English. The desktop interface and its current voice/tutor configuration are Korean. The screenshot preserves the app’s actual labels and status; it is not an English interface mockup.
The Apple Silicon DMG includes its runtime and model and requires macOS 15 or later. It is an ad-hoc signed development build without Apple notarization. The source package requires Python 3.13 or later and Node.js 22 or later. Extract it and use the included study app launcher. It prepares local settings, installs the desktop dependencies, and starts the overlay without replacing an existing .env file.
Connect OpenRouter
Enter your OpenRouter key in the Mac app settings. Source users can set OPENROUTER_API_KEY in the local .env file. Your existing model settings and API key are preserved. Model usage is billed to your OpenRouter account.
Voice help runs in two steps: transcribe the recording, then explain the selected screen content using the transcript. The current transcription setting is STUDY_STT_MODEL=openai/whisper-large-v3-turbo. The explanation model remains anthropic/claude-sonnet-5.5. Remote GPU access and fine-tuning are not part of this workflow.
기존 시선 회귀는 실제 사용자 시험에서 최대 393 DIP px로 실패했어요. 현재 교체한 모델의 사용자 정확도는 다시 측정해야 해요. 신경망 모델은 첫 설치에 약 1.22GB를 내려받고 같은 Mac의 GPU에서 실행해요. 가중치는 연구·비상업용 라이선스예요.
Optional precise gaze calibration
The optional precise mode fits personal screen coordinates to pretrained UniGaze-L features. MediaPipe locates the face for normalization. It doesn’t silently switch to an uncalibrated geometric projection. Calibration uses nine targets, followed by five separate check targets. Each target collects 12 valid samples after a settling period.
At a 1440 × 900 display size, the initial acceptance criteria are a median error of 120 pixels or less, a maximum error of 220 pixels or less, and a valid-sample rate of at least 80%. Other sizes scale the pixel thresholds by min(width/1440, height/900). These are acceptance targets, not measured accuracy claims.
Precise coordinates stay off when validation fails. Default screen-facing reminders do not depend on that calibration. Changes to the display, camera, or posture require another check. Webcam gaze estimation does not guarantee word-level precision or establish cognitive attention.
Passed calibration coefficients are saved on this Mac. With the same display and camera, the next run skips nine-point fitting and checks five fresh targets. Changed setups require a new calibration. Saved profiles can be deleted in settings.
Mac menu bar
The eye-and-waveform menu bar icon opens settings, shows the assistant, toggles monitoring and reminders, mutes spoken nudges, pauses the session, and quits. Closing the overlay hides it while monitoring can continue. The source includes the SVG and Retina template images.
Look-away reminders
Look at the screen center for about two seconds when monitoring starts. The default mode uses neural gaze and head direction relative to this local reference. It shows facing, away, and unknown states. It cannot establish cognitive attention. Sensitivity is adjustable and human accuracy still needs validation.
The defaults are a visual reminder after eight seconds away and a short spoken nudge after 20 seconds. Two seconds back clears the reminder. Repeated nudges have a 90-second cooldown. Tone, intensity, mute, and off controls are available.
Reminders pause for uncertain tracking, allowed note-taking areas, thinking time, breaks, and questions or answers. The false-alarm target is no more than one in ten minutes of normal study. It still needs real-device validation.
Screen and study files
Starting a question captures the selected monitor. The app hides its own settings, pointer and chat bubble during capture. The screenshot indicator confirms the attachment. Choose manual region selection in settings if you want to send a smaller area.
Add up to five PDF, TXT, MD or DOCX files, each at most 20 MB. The app extracts text locally: up to 40 PDF pages, 24,000 characters per file and 30,000 characters in the combined context. Scanned PDFs should be opened on screen. Extracted text is stored locally and is included with your question; original files are not copied.
Speak, then send
The main flow is “말하기 시작”, speak, then “말 끝내고 보내기”. The recording start fixes the screen context. No typed prompt or hint/quiz controls are required. The optional shortcut still supports hold-to-record.
Use the talk button to start recording, then send the question when you’re ready. An optional hold-to-record shortcut uses Cmd+Shift+Enter. The screen is fixed when the question starts, so looking at the overlay does not change the captured content. A manual region can be selected when needed.
Recordings are limited to 20 seconds. A missed key release, cancellation, or revoked permission discards the recording instead of sending it automatically. Silence or transcription failure does not trigger the explanation model. An unclear target requires area selection.
The voice button needs microphone and screen recording permission. Screen-facing reminders need camera permission. Only the optional global voice shortcut adds Accessibility and Input Monitoring permission. After granting permissions, you may need to restart the app. It does not store unrelated keystrokes. This website requests none of these permissions.
Optional Apple Watch input
A separate Watch collection server is required. Configure STUDY_HEART_URL and STUDY_HEART_TOKEN, then connect from the desktop app. Missing or stale readings stay empty. A Watch app is not included. Heart rate alone does not determine attention or health.
What stays local
Camera frames, eye features, raw gaze coordinates, and heart-rate readings are handled in device memory. Installed app settings and records live in ~/Library/Application Support/Study Signal. Extracted file text and preferences also remain in the app local storage. Source runs use the project data folder. Passed screen calibration coefficients and setup identifiers stay in the desktop app’s local storage, with no raw calibration samples.
What a question sends
The desktop interface uses voice questions. Voice help sends the recording and selected monitor or cropped area to the app server. Transcription sends audio to OpenRouter; the explanation sends the transcript, selected image and attached material text to OpenRouter and the model provider.
Face video, raw gaze, original recordings, screenshots, and image prompts are not kept in default logs. Transcribed questions and text answers remain in session history. Screen-based answers are excluded from training-example exports.
Provider processing depends on the model and provider settings you choose. The desktop app explains audio and screen transmission in its settings. The website itself makes no such requests.
Opted-in real text answers can be exported as training examples. Exporting does not automatically upload data or run fine-tuning.
Back to the product page