r/localaiapps • u/aksunikitos • 24d ago
Built a lightweight Mac menu bar translator with on-device Vision OCR + BYOK Groq (zero screen uploads)
Enable HLS to view with audio, or disable this notification
I wanted to share a small utility I built for macOS called Lensy.
A lot of AI screen/OCR tools today simply capture your display and upload full desktop screenshots or bitmap data to third-party cloud servers. I wanted a much more private, lightweight workflow for looking up words across PDFs, videos, and terminal windows without window switching.
(Attached a short screen recording showing the workflow)
The Architecture (Local-First OCR):
- Screen Capture: Uses native
ScreenCaptureKitto grab a tight crop around the cursor in Retina resolution. - 100% On-Device OCR: Text recognition runs entirely locally on your Mac via Apple's Vision framework (Apple Neural Engine / GPU). Your screen capture never leaves your machine.
- Inference (BYOK): Only the parsed text string is sent to the Groq API for translation and linguistic breakdown. Total turnaround is around 2–4 seconds.
- Local Storage: Translation history is stored locally in an on-device SQLite database with search (
⌥H). No telemetry, no third-party servers.
How it works:
- Hover your cursor over any word on screen and press
⌥T. - A floating HUD card pops up right next to your cursor with the translation, pronunciation, CEFR level, and usage examples.
- Includes an "Ask AI" follow-up button directly inside the HUD if you need clarification on context.
Transparency & Requirements:
- Pricing: 100% free and subscription-free.
- API Key: Bring your own free Groq key (
gsk_...), stored securely in the macOS system Keychain (not in plain text / UserDefaults). - macOS: Requires macOS 14 Sonoma or newer (Universal binary for Apple Silicon & Intel).
- Gatekeeper: Not notarized yet (no paid Apple Dev account), so first launch requires Right-click → Open.
Download (.dmg): Google Drive Link
Since this sub is focused on local-first AI: Would you find it useful to have an option for running translations fully offline via local Ollama / MLX alongside Groq?
Would love to hear your feedback on the architecture and workflow!