Flutter iOS Port of Existing Production App — Must Match Android 1:1

Posted 2 days ago

Worldwide

Summary

JOB TITLE: Flutter iOS Port of Existing Production App — Must Match Android 1:1 (Fixed Price) CATEGORY: Mobile App Development — Flutter / iOS PROJECT TYPE: Fixed Price TIMELINE: 1–2 weeks (hard deadline — see Milestones) ═══════════════════════════════════════════ OVERVIEW ═══════════════════════════════════════════ I have a Flutter + Firebase app ("the App") that is fully built, tested, and LIVE in production on Google Play (Android). I need an experienced iOS/Flutter developer to take the existing source code and produce an iOS build that is functionally and visually IDENTICAL to the Android version — no redesigns, no "improvements," no missing features. IMPORTANT DISCLOSURE: The App's codebase was built using AI-assisted development (AI-generated code, reviewed and directed by the product owner). This is not a red flag — the code is clean, structured, and in production — but it means you must actually READ and understand the code before touching it, rather than assuming standard boilerplate patterns. Do not guess. Do not "refactor to be safe." If something looks unusual, ask before changing it. ═══════════════════════════════════════════ MANDATORY FIRST STEP (before writing any code) ═══════════════════════════════════════════ 1. Download and install the LIVE Android app from Google Play yourself, on a real Android device. 2. Create a real account, join/create a test building, and go through the entire app — every screen, every flow — so you understand actual behavior, not just what the code implies. 3. Only after this hands-on review may you begin the iOS port. I will not accept "I read the code" as a substitute for step 1–2. Proposals that skip this will be rejected at delivery review. ═══════════════════════════════════════════ SCOPE OF WORK ═══════════════════════════════════════════ - Take the provided Flutter/Firebase source code and configure/build it for iOS. - Every screen, flow, dialog, and interaction must be pixel-for-pixel and behavior-for-behavior identical to the Android version, including: - Full Arabic RTL layout (right-to-left throughout — this is an Arabic-first app) - Custom font rendering (Cairo) - All bottom sheets, dialogs, popups, and animations - Camera-based OCR meter reading flow (Android uses a live quality-check camera preview with pixel-luminance/sharpness analysis before capture — this MUST work on iOS, not silently degrade) - Push notifications (FCM → APNs on iOS, including tap-to-navigate deep linking) - Facebook Login (Android uses classic token flow; iOS requires the OIDC nonce flow — implement correctly, do not reuse the Android flow as-is) - Sign in with Apple (required for App Store approval whenever Facebook/Google login is offered — implement fully, not a stub) - Firebase config for iOS (GoogleService-Info.plist, correct bundle ID, Firestore/Storage/Functions/Messaging all wired) - Info.plist permissions (camera, photo library, notifications) with proper Arabic-friendly usage-description copy - Payment sheet, image share to WhatsApp, and any platform-specific share/intent behavior - All existing form validation, error messages (Arabic + English), and edge-case handling - Fix ANY issue that surfaces during the port. This is a fixed-price, full-parity delivery — you own all bugs that appear on iOS until the app matches Android, not just the first pass. ═══════════════════════════════════════════ REQUIRED PROOF OF WORK (delivery is NOT accepted without this) ═══════════════════════════════════════════ 1. A working iOS build installed via TestFlight (or direct device install) that I can personally test. 2. On that iOS build, YOU must: a. Create a brand-new test building from scratch (not reuse an existing one) b. Complete the ENTIRE setup flow end-to-end: building creation → financial/services setup → apartment/unit setup → invite residents — every step, no skipping c. Leave this building fully live and functional 3. Provide me the login username and password for this completed test building so I can independently verify every screen myself. 4. A written screen-by-screen comparison checklist (Android vs iOS) — one line per screen/flow — marked ✅ identical or ⚠️ difference + what you did to fix it. I will go through this checklist personally against the live iOS build. 5. Any known limitations must be disclosed explicitly in writing — silent gaps are treated as non-delivery. 6. FULL FIXED SOURCE CODE — NON-NEGOTIABLE, HIGHEST-PRIORITY DELIVERABLE: a. You will be added as a collaborator to my private Git repository. ALL commits — every fix, every iOS-specific change, every config file (Info.plist, Podfile, GoogleService-Info.plist, entitlements, etc.) — must be pushed there incrementally as you work, with clear commit messages. This is not optional and not something to "batch push" at the end. b. At final delivery, you must ALSO upload a complete ZIP export of the final working project (source + iOS build config) directly to me, as a backup independent of the repo. Repo access alone is not accepted as final delivery — both are required. c. Along with the code, you must deliver a written QA report covering: - What you tested (device models, iOS versions used) - Every bug found during the port and the exact fix applied (file + description) - Every Android-vs-iOS behavioral difference and how it was resolved - Test coverage of the "must not break" list (payments, OCR, notifications, auth, RTL) - Any known issues NOT fixed, with reasoning and a suggested next step d. Payment is released only after: (i) I verify the test building on the live iOS build, (ii) I confirm the final code is pushed to my repo AND the ZIP is received, and (iii) I review the QA report. Missing any one of these three blocks payment, regardless of how good the iOS build looks. ═══════════════════════════════════════════ ACCESS, IP & CONFIDENTIALITY ═══════════════════════════════════════════ - You will receive read/access to the private source code repository and Firebase project (scoped access) for the duration of the contract. - NDA required before any code or credentials are shared. - This is proprietary commercial software. Code, screenshots, and credentials may not be reused, published, reposted, or referenced in your portfolio. - You do NOT have deployment or release authority. You submit builds (TestFlight/Xcode archive) for my review only — I control all App Store Connect submissions and releases. Do not submit anything to Apple directly without my written go-ahead. - Access will be revoked at contract close. ═══════════════════════════════════════════ WHAT YOU MUST NOT DO ═══════════════════════════════════════════ ✗ Do not redesign, rename, restyle, or "clean up" any UI, copy, or flow ✗ Do not change Arabic text, labels, or terminology — even if a term looks nonstandard, it's intentional ✗ Do not submit to the App Store yourself ✗ Do not skip Sign in with Apple, assuming it's optional — it's required given the login options offered ✗ Do not treat OCR/camera degradation as acceptable — if it doesn't work, fix it or flag it explicitly with a proposed solution before I'll accept it as a known limitation ✗ Do not deliver partial parity and call it done — full checklist completion is the definition of "done" here ✗ Do not withhold code or "deliver a build without the source" — the fixed source code (via repo commits + final ZIP) and the QA report are treated as equally important as the working app itself. A working iOS build with no returned code/QA is considered incomplete delivery and will not be paid. ═══════════════════════════════════════════ MILESTONES (Fixed Price — proposals should break down pricing across these) ═══════════════════════════════════════════ Milestone 1 — Android hands-on review completed + iOS project builds and runs (even with visible gaps) Proof: screen recording of Android walkthrough + first iOS build screenshot + initial commits pushed to repo Milestone 2 — Full feature parity achieved across all flows, including auth (Facebook OIDC + Sign in with Apple), OCR camera, notifications Proof: incremental commits pushed throughout, visible in repo history Milestone 3 — Final delivery: TestFlight build + completed test building + credentials + full comparison checklist + FINAL CODE (repo pushed + ZIP uploaded) + WRITTEN QA REPORT — reviewed and accepted by client Payment released only once all of the above are confirmed received and verified. Total timeline: 1–2 weeks from contract start. Please structure your milestone timing and price split accordingly in your proposal. ═══════════════════════════════════════════ REQUIRED SKILLS / EXPERIENCE ═══════════════════════════════════════════ - Strong Flutter (Dart) — production iOS shipping experience, not just Android - Firebase (Firestore, Cloud Functions, FCM, Storage) on iOS specifically - Apple ecosystem: Xcode, TestFlight, App Store Connect, Apple Developer Program, provisioning/signing - Sign in with Apple + Facebook Login (iOS OIDC) implementation experience - Experience with RTL/Arabic-localized apps is a strong plus - Must own/have access to a Mac with Xcode and a real iPhone for testing (simulator-only testing is not sufficient — camera/OCR flows cannot be validated in a simulator) - Clear written English for the comparison checklist and QA report ═══════════════════════════════════════════ HOW TO APPLY ═══════════════════════════════════════════ In your proposal, please confirm: 1. You have a Mac + Xcode + physical iPhone available for this project 2. You understand and agree to the "download Android first" requirement 3. You understand and agree that the fixed source code (repo commits + final ZIP) and a written QA report are required deliverables, not optional extras 4. Your proposed milestone breakdown and price for each milestone above 5. A brief note on your prior experience porting a Flutter/Firebase app from Android to iOS (link to App Store listing if possible) Generic proposals that don't address the above will not be considered.

  • $200.00

    Fixed-price
  • Expert
    Experience Level
  • Remote Job
  • One-time project
    Project Type
Skills and Expertise
Mandatory skills
Flutter
iOS Development
Activity on this job
  • Proposals:5 to 10
  • Last viewed by client:2 days ago
  • Hires:
    1
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Oct 12, 2023
  • Palestinian Territories
    Ramallah6:50 AM
  • $121 total spent
    2 hires, 1 active

Explore similar jobs on Upwork

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers 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

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo