CircleToSearch is a macOS menu bar app that:
- captures the visible screen
- runs OCR locally with Vision
- translates visible text
- renders translated text back over a frozen screen overlay
This repo is currently optimized for developers working on the app locally.
- macOS 15+
- a recent Xcode with the macOS 15 SDK
- a Google Cloud project with the Cloud Translation API enabled
- a Google Translate API key
- Node.js 20+
- Install backend dependencies:
cd backend
npm install
cp .env.example .env- Edit
backend/.envand set only:
GOOGLE_TRANSLATE_API_KEY=your_key_hereFor normal local development, leave the shared secret and access token settings blank.
- Start the backend from the repo root:
./script/run_backend.sh- Open
CircleToSearch.xcodeproj - Select the
CircleToSearch Open Sourcescheme - Build and run the app
- Open Settings and click
Check Status - Use the app
The default CircleToSearch scheme is the managed-backend/App Store path.
- backend URL comes from the Xcode config
- release builds use receipt-based auth
- self-host settings are hidden in release mode
Use this path only if you are working on the managed backend flow.
The backend lives in backend/.
Useful commands:
cd backend
npm install
npm run check- docs/SELF_HOSTING.md: open-source developer setup
Sources/: macOS app sourceResources/: plist, entitlements, assets, and bundle resourcesConfig/: Xcode build configuration filesbackend/: translation backendscript/: local backend and packaging scripts