Kaden MacLean
WorkAboutNowWritingContact
All work

In development · April 15, 2026

Probe

Local-first macOS class copilot — records lectures, transcribes them on-device, and turns them into real study notes via a local LLM, anchored under the MacBook notch.

probe — recording
REC · 14:22CALC 101

Probe started because I was tired of getting home from class and realizing I'd lost half of what the teacher actually said. Existing "AI note-taker" tools either upload your lecture audio to somebody's cloud (not great when the recording includes 30 other students' voices) or produce notes so generic they're not worth reading. I wanted something that felt like a teammate sitting quietly under the notch — there when I asked, invisible otherwise, never phoning home.

Probe is local-first end to end. AVFoundation captures audio on-device. WhisperKit transcribes it with CoreML on Apple Silicon. Notes, tutor responses, quizzes, and flashcards are generated by Ollama running locally — whichever model the user has pulled (llama3.1:8b by default, up to qwen2.5:14b for higher fidelity). Nothing ever leaves the machine. No telemetry, no API keys, no account.

The UI anchors under the physical MacBook notch. When idle, the window is sized so the notch cutout occludes its upper portion — all the user sees is a tiny indicator dot peeking out below, which looks like the notch grew a pixel. Hover it, and the window drops down into a glass card with record controls, live audio levels, a quick-ask field, and recent sessions. ⌘⌥P from anywhere — even over a fullscreen app — drops the card.

The hardest part of Probe wasn't audio or UI — it was prompt engineering for fidelity. Small local models love to fabricate structure when you ask for structure. The current notes prompt is transcript-first, has a mic-check heuristic that routes obvious test recordings through a dedicated stub template, and leads with six anti-fabrication rules. Each of the five note styles — Standard, Ultra-Detailed, Exam Cram, Flashcard-Ready, AP-Style Review — has its own template so the same transcript produces visibly different output depending on what kind of study artifact you want.

Probe also reads the calendar. When a recording starts, it queries EventKit and auto-titles the session with whatever class is actually happening. It also reads an optional shared-container snapshot that Meridian writes, so classes scheduled locally in Meridian auto-title too.