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
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.


