Skip to content

Repository files navigation

Cat Scribe

Cat Scribe turns photographed handwriting and documents into text. Capture a page with the camera or open an image from Photos or Files, then send the result to Drafts or another app through the system share sheet.

Requirements

  • iPhone running iOS 18.0 or later.
  • A Google Gemini API key and internet connection when using Cloud processing.
  • An eligible device running iOS 27 with Apple Intelligence enabled for Apple AI language-model processing. Private Cloud Compute also depends on Apple's current availability and usage limits.
  • Drafts is optional. If it is not installed, Cat Scribe presents the system share sheet.

Choose a text extraction service

Setting Processing API key
Cloud (default) Sends the selected image and transcription instructions to Google Gemini. Your Gemini key is required.
Apple AI (opt-in) On eligible iOS 27 devices, tries Apple Private Cloud Compute, then an available on-device Apple model, then Apple Vision OCR. None.
Apple OCR Recognizes text locally with Apple Vision. None.

Existing service selections are preserved when the app updates. Apple AI settings show availability, quota information when supplied by the system, and the processing tier used by the most recent completed scan. Selecting Apple AI does not guarantee that a scan will use Private Cloud Compute; device eligibility, model readiness, connectivity, and quota can cause local fallback. On earlier iOS versions, Apple AI uses Apple Vision.

Get started

  1. Open Cat Scribe and complete onboarding.
  2. Open Settings and choose Cloud, Apple AI, or Apple OCR. For Cloud, create a key in Google AI Studio and save it in the app.
  3. Point the camera at a page and tap capture. Cloud processing displays transcription as it streams in; local recognition may return the completed text together.
  4. Cat Scribe opens Drafts with the extracted text when Drafts is installed. Otherwise, choose a destination from the share sheet.

You can also use the iOS share sheet's Cat Scribe entry to open a supported image directly in the app. This uses image document registration, not a share extension.

Settings

  • Choose fast or detailed scanning, or customize supported model settings and transcription prompts.
  • Use a Gemini model from the available-model list and refresh the list after saving your API key.
  • Configure Drafts tags and an optional Photos album.
  • Enable Save Photo to keep captured or imported images in Photos. It is off for new installations.
  • Inspect or clear local diagnostics under Settings → About → Performance Logs.

Cloud model availability and usage charges depend on your Google account. A custom API endpoint receives the requests and credentials configured for that endpoint.

Privacy and local storage

Cat Scribe does not operate a server for notebook content and includes no advertising or tracking SDKs. Cloud scans go to the selected processing provider; Apple OCR and on-device Apple-model processing stay on the device.

The app stores settings and model preferences locally, and keeps the Gemini API key in iOS Keychain. When a Drafts handoff must wait for the app to return to the foreground, the text and tags are queued locally and removed after a successful handoff. Performance logs retain timing, model and image metadata, and device/app context; they can be cleared in the app. Images saved through Save Photo remain in Photos until you remove them there. Normal Photos sync and device backup settings may apply to locally stored data.

See PRIVACY_POLICY.md for provider and retention details.

Development

The Xcode project is NotebookSaver.xcodeproj, and the main scheme is Cat Scribe. Use Xcode 27 and its iOS 27 SDK for the Apple AI image-model and Private Cloud Compute APIs. The deployment target remains iOS 18; newer APIs are guarded by runtime availability checks.

The app uses Swift 6 strict concurrency, SwiftUI, AVFoundation, Vision, Foundation Models, Core Image, URLSession, and Keychain Services. The widget opens the app for capture. Tests cover routing decisions, image sizing/orientation, and diagnostic metadata; successful builds and unit tests do not prove live PCC processing or handwriting quality on a physical device.

Xcode manages source membership through filesystem-synchronized groups. Follow AGENTS.md, use Xcode for project changes, and preserve existing settings and Keychain identifiers during migrations. Changes to image document registration require a fresh installation to refresh iOS's registration cache; use a simulator or test device without valuable app data for that check.

Contributing and license

This is a personal project. Feedback and focused improvements are welcome. Keep the capture, extraction, and export workflow simple, and respect the terms of any processing service you use.

About

iOS app that captures handwritten notes and documents, extracts text with Gemini AI, and exports to Drafts.

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages