09 Aug
|
Crafter
|
Hyderabad
About the job STATEMENT OF WORK
Nova Mobile App — Flutter Stabilization & Launch Readiness
Prepared for: Contract Flutter Developer | Client: Nova | Location: Hyderabad, India | Date: August 2026
1.
Project
Overview
Nova is an emotionally intelligent dating application built on Flutter, with Firebase Authentication and a REST API backend. The application is approximately 80% complete — most core features exist and function. This engagement is a focused stabilization effort to bring the app to production-ready quality ahead of internal beta testing.
Frontend: Flutter (Android & iOS)
Authentication: Firebase Authentication (OTP)
Backend: REST APIs
Version Control: GitHub 2. Objective
Deliver a secure, release-ready build across Android and iOS. This is a release-engineering engagement, not a feature-development one.
Eliminate crashes and fix broken flows
Complete unfinished integrations
UX improvement to the perfection
Improve stability and performance
Remove technical debt blocking launch
Publish stable builds to the Google Play Store and Apple App Store
Document the project for future developers
Out of Scope The following are explicitly excluded unless mutually agreed in writing as a separate engagement:
Architecture rewrite or state-management migration
Database redesign or new backend features 3. Modules in Scope
Sixteen modules cover the full application surface. For each, the developer verifies existing behaviour, fixes defects, and confirms edge-case handling (empty state, error state, slow/offline network, server failure, duplicate actions, app restart, background→foreground).
#
Module
Coverage
1
Authentication
Phone OTP, login/logout, session persistence, auto-login, token refresh, invalid OTP & network-failure handling.
2
User Onboarding
Welcome flow, gender/DOB/basic info, location permission, intent & emotional-status selection, interest tags, story-card questions, skip logic, validation, progress indicators.
3
Profile Creation & Management
Profile fields (bio, intent, tags, occupation/education if present); photo upload/delete/reorder/replace/compression/retry, primary-photo selection; editing, validation, unsaved-changes handling; correct rendering incl. empty/long values.
4
Home & Discovery
Feed loading, pagination, refresh, empty states, API failures, filters (if present).
5
Matching
Like/Pass, match creation & retrieval, match history, refresh handling, API failure handling.
6
Chat
Send/receive, realtime updates, reconnection, scrolling, keyboard behaviour, empty/long conversations, duplicate-message and delivery-failure fixes.
7
Image Upload & Media
Upload/delete/replace/retry, compression, gallery & camera permissions, slow-network and failed-upload recovery.
8
Notifications
Push delivery (foreground/background/terminated), deep linking, badge counts, permission handling.
9
Premium
Purchase flow, restore purchases, active/expired subscription states, feature unlock, status refresh.
10
Basic Safety
Block user,
hide profile, report flow (if already built), basic account restrictions. No new moderation features.
11
AI (existing only)
Verify existing API integration and response handling; crash and reliability fixes only — no new AI capability.
12
Settings
Edit-profile shortcut, notification & privacy settings, delete account, logout, legal pages.
13
Analytics
Verify core events: signup, login, profile completion, match created, first message, subscription purchase, app open.
14
Performance & Stability
Crash fixes, memory-leak resolution, reduce unnecessary rebuilds/API calls, image loading & caching, startup-time reduction.
15
Regression Testing
Every module re-verified for success, empty, error, offline, slow-network, server-failure, duplicate-action, restart and background→foreground scenarios.
16
Documentation & Handover
Setup guide, Firebase configuration, environment variables, project structure, third-party package list, known issues, full technical handover.
- Stability, Performance & TestingStability fixes
Application crashes, memory leaks, UI freezes, infinite loading
API timeout and exception handling, null-reference issues
State-restoration issues, duplicate API calls
Performance improvements
Reduce unnecessary widget rebuilds and API calls
Improve image loading, caching, and app startup time
Bug tracking
Every identified issue is logged with: title, steps to reproduce, severity, screenshot/video, and resolution status.
- Documentation & Handover (Mandatory)
Project setup guide — Flutter version, SDKs, environment setup, build & run steps
Firebase configuration — required services, setup instructions, config files
Environment variables — all required keys documented
Project structure — folder hierarchy, architecture, routing, state management, API layer
Third-party packages — name, purpose, notes
Known issues — remaining bugs, limitations, future improvements
Technical handover — commit history, final source code, release notes, APK, iOS build instructions
6.
Execution
Timeline
Initial stabilization sprint: 7 calendar days, followed by phased store releases (Section 8). No feature additions during this window.
Day
Phase
Focus
Day 1
Audit & Planning
Local setup, architecture & API review, full screen/flow audit, prioritized bug backlog, effort estimate.
Day 2–4
Core Flow Stabilization
Authentication, onboarding, profile creation & management, discovery, matching.
Day 5
Communication & Premium
Chat, notifications, premium purchase/restore, settings, analytics event verification.
Day 6–7
Stabilization & Release Prep
Remaining crashes/edge cases, full regression pass (Android + iOS), documentation, signed release build.
- Deliverables
Updated Flutter source code with clean Git commit history
Android release build — signed APK / App Bundle (AAB)
iOS production build / build instructions
Bug report log
Technical documentation and known-issues document
Release notes
8.
Payment
Terms & Release Milestones
Payment is tied to production releases and post-launch stability, not to time spent — this keeps incentives aligned with a genuinely stable, shippable product.
Phase 1 — Android Stabilization & Google Play Release (50%)
Covers full stabilization of the Android app per Sections 3–5, culminating in a successful Google Play Store submission, followed by a 15-day production stability window.
Payment trigger: 50% of the total fee is released once the Android build is live on the Play Store and remains stable — no critical or release-blocking issues — for 15 consecutive days.
Phase 2 — iOS Release & App Store Deployment (50%)
Covers iOS-specific compatibility, Apple signing/provisioning, device testing, platform-specific fixes, App Store submission, and a subsequent 15-day production stability window.
Payment trigger: The remaining 50% is released once the iOS build is live on the App Store and remains stable for 15 consecutive days.
Definition of a critical bug
App crash, login/OTP failure, inability to create or edit profile, image upload failure, match-creation failure, non-functional chat, complete push-notification failure, premium purchase failure, data loss, failure to launch, or any issue causing app-store rejection. Cosmetic or enhancement-level issues do not qualify.
Warranty The developer provides support during both 7-day stability windows at no additional cost for critical defects introduced by delivered code. Enhancements or new scope requested after acceptance are treated as a separate engagement. 9.
Commercials
Experience
Hourly Rate
Approx.
Project
Cost
2–3 years 4–6 years 7+ years (Senior Flutter Consultant) Recommended profile
4–6+ years of production Flutter experience, has shipped multiple live apps
Strong debugging and release-management skills; comfortable working independently
Experience with Firebase Auth, REST APIs, push notifications, and app-store release processes
Oriented toward stabilization, not feature-building A senior consultant carries a higher hourly rate but typically completes the work faster and with fewer iterations, reducing overall delivery risk — worth weighing against the lower headline rate of a 2–3 year candidate. 10.
Working
Expectations
Daily end-of-day progress update
At least one Git commit per day
Immediate communication of blockers
No architectural changes or new features without written approval
Project is considered complete only once all deliverables are accepted and both stability windows are cleared
📌 Sr Flutter Developer 4+years || Hyderabad only
🏢 Crafter
📍 Hyderabad