Full-Stack Mobile Developer for Immersive Reading App (OCR/TTS/UI)
Worldwide
# Full-Stack Mobile Developer / Team for Immersive Reading App (Flutter, OCR, TTS, Custom UI) I’m looking for an experienced mobile developer or small development team to build a polished, production-ready iOS and Android reading application. The app is intended to make reading easier, faster, more enjoyable, and more engaging, especially for users who struggle with maintaining attention while reading. This is **not** intended to be a basic Kindle clone or generic ebook reader. The goal is to combine: * A beautiful immersive digital library * A highly customizable ebook reader * Focus-assisted reading * Automatic scrolling * Traditional animated page reading * Instant text-to-speech/audiobooks * Extremely fast physical book scanning * OCR * EPUB/PDF importing * Saved progress * Cloud synchronization * Subscriptions * A large searchable book catalog * A complete backend/admin system I have additional planning documents and visual references that will be attached to this job post. --- # 1. Overall Product Vision When users open the application, I want it to feel like they are entering a beautiful illustrated personal library rather than opening a typical utility app. The experience should feel: * Warm * Artistic * Premium * Atmospheric * Literary * Storybook-inspired * Tactile * Slightly whimsical * Highly polished The library itself should visually contain elements such as: * Wooden bookshelves * Physical-looking books * Realistic book spines * Book thickness/depth * Shadows * Warm lighting * Plants * Lamps * Reading chairs * Tables * Decorative objects * Paper textures * Illustrated backgrounds * Subtle environmental animation I do **not** want a generic interface made primarily from white backgrounds and rectangular cards. The UI and visual design are a major part of the product. --- # 2. Physical-Looking Book Experience Books should feel like actual objects. For example: User taps a book on a shelf → Book moves forward → Book enlarges → Book slightly rotates toward the user → Cover and details appear → User presses Open → Cover opens → Reading interface appears This does not necessarily need full 3D physics, but it should visually create the feeling of interacting with a real book. Each book should support: * Cover * Spine * Title * Author * Description * Genre * Reading progress * Estimated reading time * Saved status * Audiobook/TTS status --- # 3. Main Reading Modes The reader should provide several ways to consume a book. ## Standard Scroll Traditional vertical scrolling. ## Automatic Scroll The text moves automatically while the user reads. Controls should include: * Start * Pause * Resume * Faster * Slower * Adjustable speed slider The app should remember the user’s preferred speed. ## Traditional Page Mode Users can read one page at a time. Pages should have a polished animated page-turn effect. The animation should include elements such as: * Page movement * Page curl/bend * Shadows * Next-page reveal * Smooth completion There should also be a reduced-motion accessibility option. ## Focus Reading Mode The app should include a mode where the beginning portion of each word is visually emphasized/bolded. Example concept: **Read**ing **fas**ter **bec**omes **eas**ier when the beginning of words provides visual anchors. Users should be able to control the strength of the emphasis. The system needs proper handling of: * Short words * Long words * Apostrophes * Hyphenated words * Numbers * Quotes * Punctuation * Headings * Italics This should be generated dynamically rather than storing duplicate copies of every book. --- # 4. Typography and Reading Customization Typography is extremely important. The reader should look like a professionally typeset book rather than a webpage. Users should be able to adjust: * Font * Font size * Font weight * Line height * Letter spacing * Paragraph spacing * Margins * Reading width * Background * Brightness * Light mode * Dark mode * Sepia/paper mode Reading settings should automatically save to the user’s profile. --- # 5. Text-to-Speech / Instant Audiobooks Any compatible book or imported document should be capable of being read aloud using text-to-speech. Users should be able to: * Press Listen * Play/pause * Change voice * Adjust playback speed * Skip forward * Skip backward * Navigate chapters * Use a sleep timer * Continue listening with the screen off * Resume from the exact previous audio position The TTS architecture should be provider-independent so different voice services can be added or changed later. Audio should preferably be generated/cached by chapter or section rather than regenerating an entire book each time. --- # 6. Read and Listen Simultaneously Users should be able to listen while reading. Ideally: * Current sentence is highlighted * Current word can optionally be highlighted * Text automatically follows narration * User can tap a sentence to jump playback * Visual reading position and audio position remain synchronized Reading and listening should share one canonical progress/location system. --- # 7. Extremely Fast Physical Book Scanning This is one of the most important features. I do **not** want the user to manually take a photo, confirm it, crop it, save it, and repeat for every page. The intended experience is: **Place phone above open book → Press Start → Rapidly flip through pages → App automatically captures each new page → Press Finish** The user should be able to scan many pages quickly. The camera should continuously observe the book. When the user flips a page, the app should: 1. Detect that the page changed. 2. Wait until the new page is stable/readable. 3. Automatically capture it. 4. Process it in the background. 5. Allow the user to immediately flip to the next page. The user should not need to press the shutter for every page. For example: Page 1 captured automatically ✓ Flip Page 2 captured automatically ✓ Flip Page 3 captured automatically ✓ etc. --- # 8. Two-Page Book Scanning Because an open physical book normally displays two pages simultaneously, the app should ideally detect both. One camera frame containing: **Page 84 | Page 85** should become: **Digital Page 84** **Digital Page 85** The system should: * Detect the center/gutter * Separate left and right pages * Correct each page independently * OCR each page * Preserve proper reading order This should make scanning physical books significantly faster. --- # 9. Scanner Processing During or after capture, the app should automatically handle as much as possible. Desired features include: * Page-change detection * Automatic capture * Page-boundary detection * Automatic cropping * Perspective correction * Rotation correction * Curved-page/dewarping correction * Lighting enhancement * Contrast enhancement * Blur detection * Glare detection * Duplicate-page detection * Page-order detection * OCR * Paragraph reconstruction * Heading detection * Reading-order detection * Hyphenation cleanup * Text normalization OCR should process asynchronously where possible so users are not forced to wait after every page. --- # 10. Automatic Scan Quality Control The scanner should automatically determine whether a page was captured successfully. For example: **Page 44 — Good ✓** or **Page 45 — Too blurry, please rescan** Ideally this warning appears immediately while the user is still scanning so they can flip back and retry. The goal is: **maximum speed without silently sacrificing text accuracy.** --- # 11. Scan-to-Library Workflow After scanning: **Finish Scan** ↓ **Process Images** ↓ **OCR** ↓ **Clean Text** ↓ **Determine Page Order** ↓ **Identify Book** ↓ **Add to My Library** If the scanned book matches something in the catalog, the system should attempt to automatically identify: * Title * Author * ISBN * Edition * Cover * Publication information The scanned book should then behave like any other book in the application. It should support: * Standard reading * Focus Reading * Manual scrolling * Auto-scroll * Page mode * Page-turn animation * Text-to-speech * Read-along highlighting * Bookmarks * Highlights * Notes * Saved progress * Search * Offline use where appropriate The scanner should create a structured digital book, not simply a folder of photographs. --- # 12. File Import Users should also be able to import their own files. Priority formats: * EPUB * PDF * TXT Potential future support: * DOCX * Web articles * Clipboard text * Share-sheet imports For image-based PDFs, OCR should be offered automatically. Imported documents should be private to the user. --- # 13. Large-Scale Book Catalog / Anna’s Archive A major goal is for the application to have an extremely large searchable book catalog rather than manually adding a few hundred books. I would like the architecture to be capable of using **Anna’s Archive as a large-scale book discovery/index/metadata dataset where legally permitted**, along with other book metadata sources. The system should be designed to handle **millions of book records**. Book records can include information such as: * Title * Author * ISBN * Edition * Publisher * Publication year * Language * Description * Categories * Cover information where authorized * Other bibliographic information Conceptually: **Anna’s Archive / External Book Metadata** ↓ **Normalize Records** ↓ **Remove Duplicates** ↓ **Match Editions/ISBNs** ↓ **Internal Book Database** ↓ **Fast App Search** The architecture should allow additional book datasets/catalog partners to be connected later. Importantly, the **book catalog and the actual downloadable/readable book file should be separate systems**. A catalog listing does not automatically mean the app has permission to redistribute the copyrighted file. Built-in readable content should use sources the platform is legally allowed to provide, such as: * Public-domain books * Licensed books * Publisher partnerships * Authorized catalogs Users can also privately import or scan books/material they already possess. I want the system architected so users can search for and recognize a very large number of books while keeping content sourcing flexible. --- # 14. Personal Library Each user should have a private library. Potential sections: * Continue Reading * Currently Reading * Saved * Favorites * Finished * Recently Opened * Imported * Scanned * Audiobooks * Downloads Books should visually appear on shelves rather than simply as generic cards whenever appropriate. --- # 15. Saved Reading Progress Reading progress should automatically save. Users should never need to manually press Save. Progress needs to include: * Book * Chapter * Paragraph/location * Scroll position * Page position * Reading percentage * Audio position * Reading mode * Auto-scroll speed * Playback speed Example: User reads halfway through Chapter 6. They close the app. Three days later they open it. They should return to the exact previous location. Progress should sync across devices. --- # 16. Bookmarks, Highlights, and Notes Users should be able to: * Bookmark locations * Highlight text * Choose highlight colors * Add notes * View all highlights * View all notes * Jump back to highlighted passages --- # 17. Search Search should support: * Title * Author * ISBN * Genre * Description * Large-scale catalog * Personal library * Imported books * Scanned books Search must remain fast even with millions of catalog records. --- # 18. User Accounts Authentication should support: * Email/password * Sign in with Apple * Google sign-in Users should be able to: * Reset password * Verify email * Manage account * Log out * Delete account * Restore purchases * Manage subscription --- # 19. Subscription / Paywall The application should support free and paid subscription tiers. Potential structure: ## Free * Limited features/catalog * Limited scanning * Basic voices * Basic reading tools ## Premium * Full available catalog access * Expanded/unlimited scanning * Premium voices * Advanced reading controls * Additional themes * Offline access * Advanced organization Exact plans and restrictions should be configurable from the backend. Support: * Monthly subscription * Annual subscription * Free trial if desired * Purchase restoration * Subscription expiration * Grace periods * Failed payments * App Store/Google Play subscriptions --- # 20. Offline Reading Where allowed, users should be able to download content for offline reading. Offline storage can include: * Text * Covers * Reading settings * Progress * Selected audio * Imported/scanned documents Changes should synchronize after reconnecting. --- # 21. Security and Privacy Security must be built in from the beginning. Requirements include: * Secure authentication * Encrypted communication * Secure token/session handling * Strong password hashing * Authorization checks * Secure private file storage * Signed/temporary asset URLs * Rate limiting * Input validation * File-type validation * Secure uploads * Database backups * Secret/environment management * Account deletion * User data export capability * Administrative audit logs User scans, imported books, notes, and highlights must remain private. A user should never be able to access someone else’s private document simply by knowing an ID or URL. --- # 22. Admin Dashboard A web-based admin dashboard should be included. Administrators should be able to: * Add books * Remove books * Edit metadata * Upload covers * Upload authorized book files * Manage genres/categories * Search catalog * Manage catalog imports * Review duplicate records * Manage users * Review subscriptions * Review OCR failures * Review import failures * Review TTS failures * Disable content * Manage content availability * View usage * View system health Managing the application should not require developers to manually edit database tables. --- # 23. UI / UX — Extremely Important The visual design is one of the most important parts of this project. Applicants must be comfortable creating or implementing genuinely custom interfaces. I am **not** looking for: * Generic app templates * Basic Material Design screens * Plain white pages * Standard rectangular cards everywhere * Simple color changes on premade UI kits The product should feel like an illustrated digital world. Visual inspiration includes: * Cozy reading rooms * Physical libraries * Storybook environments * Warm lighting * Hand-painted textures * Bookshelves * Plants * Chairs * Lamps * Decorative objects * Physical books * Paper * Wood * Fabric * Subtle animation The application should still remain easy to use and modern. The artistic environment should enhance usability rather than interfere with it. --- # 24. Motion and Interaction Design Motion should make the application feel alive. Examples: * Books sliding out of shelves * Book covers opening * Smooth shelf scrolling * Page-turn animations * Lamps subtly glowing * Small environmental movements * Progress animations * Smooth transitions between library and reader * Haptic feedback where appropriate Animations must remain performant and should not make the app feel slow. --- # 25. Accessibility The app should support a range of reading preferences. Features should include: * Font resizing * High contrast * Adjustable line spacing * Adjustable letter spacing * Adjustable reading width * Dark mode * Reduced motion * Screen-reader compatibility * Adjustable narration speed * Large tap targets * Clear navigation --- # 26. Backend / Technical Architecture The application will require a serious production backend. Expected systems include: * Authentication * User profiles * Catalog * Personal libraries * Reading progress * Bookmarks/highlights/notes * File uploads * EPUB/PDF processing * OCR * TTS * Cloud storage * Search * Subscription entitlement * Admin tools * Analytics * Error monitoring I am currently considering Flutter for iOS/Android, but I am open to recommendations from experienced developers. The architecture should avoid being permanently locked to a single OCR, TTS, cloud, or search provider. --- # 27. Performance The application needs to remain responsive even with: * Very large books * Millions of catalog records * Large PDFs * Hundreds of scanned pages * Generated audio * Offline downloads Large books should be loaded/processed in sections rather than loading the entire book into memory. Previously processed files should not repeatedly be OCR’d, parsed, or converted unless necessary. --- # 28. Error Handling Important processing tasks should have clear states. Example: **Uploading** ↓ **Processing** ↓ **Ready** or: **Processing Failed — Retry** No file or processing job should silently disappear. OCR, TTS, imports, synchronization, and other jobs should retry intelligently when appropriate. --- # 29. Analytics and Monitoring We should be able to understand: * Active users * Reading sessions * Books opened * Books completed * Most-used reading modes * Focus Reading usage * Auto-scroll usage * Audio usage * Scanning usage * Number of pages scanned * Imports * Subscription conversion * Retention * OCR failures * TTS failures * Crashes * Performance issues Private reading content should not unnecessarily appear inside analytics. --- # 30. Development Milestones I expect the project to be developed in milestones. A possible structure: ### Milestone 1 Full UI/UX design and interactive Figma prototype ### Milestone 2 Core reader engine ### Milestone 3 Accounts, backend, database, and cloud sync ### Milestone 4 Large catalog/search system ### Milestone 5 EPUB/PDF/TXT importing ### Milestone 6 Rapid camera scanning + OCR ### Milestone 7 Text-to-speech / audiobook system ### Milestone 8 Subscriptions/paywall ### Milestone 9 Admin dashboard ### Milestone 10 Advanced animation and visual polish ### Milestone 11 Security, testing, performance optimization ### Milestone 12 App Store + Google Play release I am open to recommendations for improving this milestone structure. --- # 31. Final Deliverables The final project must include: * Complete iOS application * Complete Android application * Full mobile source code * Backend source code * Database schema * Admin dashboard * Figma/source design files * Catalog system * Search * OCR integration * Rapid book scanner * TTS integration * EPUB/PDF importing * Subscription integration * Secure file storage * Cloud sync * Offline reading * Error monitoring * Analytics * Automated/QA testing * Deployment documentation * API documentation * Environment/configuration documentation * App Store-ready build * Google Play-ready build I do **not** want to receive only an APK, IPA, or TestFlight build. The full source code, backend, infrastructure, design files, and documentation must be delivered. --- # 32. Ideal Applicant Experience with several of the following is preferred: * Flutter * iOS development * Android development * Custom UI * Figma * Interaction design * Motion/UI animation * Backend development * Database design * Authentication * Cloud storage * Search systems * OCR * Computer vision * Camera/document scanning * EPUB parsing * PDF processing * Text-to-speech * Audio synchronization * Offline synchronization * In-app purchases * Subscription systems * Mobile performance optimization * Security Experience building ebook readers, document scanners, audiobook applications, OCR products, or similarly complex mobile apps is particularly valuable. --- # 33. When Applying Please do not submit a generic proposal. Please answer the following: 1. Have you built any ebook, OCR, scanning, audiobook, TTS, or document-processing applications before? 2. Please provide your strongest examples of mobile applications. 3. Please provide examples specifically demonstrating high-quality custom UI and animation. 4. Would you personally handle the mobile app, backend, database, admin dashboard, OCR, TTS, subscriptions, and deployment, or would a team be involved? 5. What technology stack would you recommend and why? 6. How would you build the extremely fast automatic page-scanning feature? 7. How would you detect page turns and automatically capture pages without requiring a shutter press? 8. How would you separate two visible book pages from one camera frame? 9. How would you implement OCR and automatically identify bad/blurred scans? 10. How would you implement EPUB/PDF processing? 11. How would you synchronize text-to-speech with the displayed text? 12. How would you implement the Focus Reading mode? 13. How would you implement the animated physical-looking library/books? 14. How would you implement the page-turn animation? 15. How would you architect fast search across millions of book records? 16. How would you save exact reading progress and synchronize it between devices? 17. What timeline would you estimate? 18. What milestone structure would you recommend? 19. What budget/rate would you estimate for the complete project? Please review the attached planning document and visual references before applying. I am looking for someone who can help build a **polished production application**, not simply a visual prototype.
$750.00
Fixed-price- IntermediateExperience Level
- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:15 to 20
- Last viewed by client:3 days ago
- Interviewing:5
- Invites sent:0
- Unanswered invites:0
About the client
- United StatesSanta Clara1:48 AM
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by