Skip to content
All templates
Lectio icon

Lectio

OCR text scanner and translator for iOS with Cloud Vision OCR, text-to-speech read-aloud, a searchable document library with CloudKit sync, PDF export and a RevenueCat subscription paywall

iOS AppsSwiftUIocrtext scannertranslatortext to speech
$29

Lectio is a native SwiftUI OCR scanner and translator for iOS 17. Point the camera at any printed text (or import from the photo library, document scanner, PDF or TXT/RTF files), extract the text with Google Cloud Vision OCR, read it aloud with text-to-speech, translate it into dozens of languages, and keep every scan in a searchable document library that syncs through the user's iCloud account. Monetization is a free scan quota plus a RevenueCat subscription paywall, and the UI ships localized in 71 languages.

Highlights

  • Five capture sources: live camera, photo library, in-app document scanner, PDF pages and TXT/RTF files
  • OCR powered by Google Cloud Vision, called through your own server-side proxy (API key never ships in the app)
  • Translation powered by Google Translate through the same proxy, into dozens of languages
  • Text-to-speech playback with AVSpeechSynthesizer, including voice picker and speech-rate control
  • Saved-document library with full-text search, iCloud (CloudKit) sync and PDF export
  • Free scan quota plus premium subscription (RevenueCat v5) with restore purchases
  • Scan result screen with editable recognized text, copy and share actions
  • Light and dark appearance with manual override
  • Custom floating tab bar with center scan action, Lottie loading animation, toasts and haptic feedback
  • Localized into 71 languages
  • Zero-dependency Node.js backend proxy included with built-in per-IP rate limiting

Technology

  • Swift, SwiftUI (iOS 17.0+ deployment target, already configured)
  • Backend: Backend/server.js, a zero-dependency Node.js (18+) proxy for Google Cloud Vision and Google Translate, with setup guide and full API reference in its README
  • SPM dependencies (exact versions in DEPENDENCIES.md): RevenueCat v5 for the subscription paywall, Lottie for animations
  • CloudKit for iCloud document sync, entitlements file included
  • All configuration in one file (Lectio/API/AppConfig.swift): backend URL, RevenueCat key, Terms of Use and Privacy Policy URLs - clearly marked placeholders, nothing real ships
  • Google Cloud and RevenueCat accounts are buyer-provided paid services; the app talks only to your proxy, so API keys stay server-side

Requirements

  • Mac with Xcode 15 or newer and an Apple development team
  • Node.js 18+ to run the backend proxy (deploy anywhere: VPS, Render, Railway, Fly.io - deployment walkthrough in the documentation)
  • Google Cloud account with the Cloud Vision API and Cloud Translation API enabled
  • RevenueCat account for the subscription paywall
  • Apple Developer Program for CloudKit sync, real subscriptions and App Store publishing; legal pages URLs to replace before submission

What You Get

  • Complete SwiftUI source project with views, capture flows, API layer and library cleanly separated
  • Backend/server.js zero-dependency proxy with per-IP rate limiting, plus its own setup guide and API reference
  • PrivacyInfo.xcprivacy privacy manifest and Lectio.entitlements
  • Illustrated HTML documentation (18 sections): quick start, configuration, backend deployment, API reference, CloudKit setup, bundle ID, renaming, icon replacement, one-place re-theming, localizations, upgrade guide, licenses and App Store submission checklist
  • DEPENDENCIES.md manifest with exact SPM package versions and LICENSES.md third-party notices
  • Full rights to rebrand, reskin, extend and publish anywhere

Please note: this is a source code template, not a finished published app. Google Cloud, RevenueCat and your hosting are buyer-provided paid services - the documentation walks through every account and configuration step. Basic Xcode knowledge is required to build, customize and publish. If you have questions, use the contact form on the site, I usually reply within 24 hours.

Related templates