The previous developer left
You have the source code, but the architecture, build setup, backend dependencies, or release process are unclear.
[ENG-SERVICES] // Mobile App Rescue
I help teams diagnose, stabilize, and continue developing existing Flutter, React Native, Android, and iOS applications.
If the previous developer left, the project no longer builds, bugs keep returning, backend state is unreliable, or the release is blocked, I can find the important issues and create a practical recovery plan.
01 // Sound familiar?
You do not need to translate the problem into engineering terminology before getting help.
You have the source code, but the architecture, build setup, backend dependencies, or release process are unclear.
Dependencies, SDK versions, signing, native configuration, or environment setup have drifted.
Visible symptoms are being patched without resolving the underlying state, API, lifecycle, or architecture problem.
A build, store requirement, crash, authentication flow, payment, deep link, or backend dependency is stopping deployment.
The remaining integration, testing, release, and edge-case work has become the hardest part of the project.
Caching, realtime events, backend behavior, or lifecycle handling leaves the interface out of sync until restart.
A responsible answer requires enough inspection to distinguish localized risk from a fundamental constraint.
02 // My approach
Existing software contains history, constraints, shortcuts, useful work, and sometimes genuinely bad decisions. Those cannot be evaluated responsibly from a screenshot or a short call.
I inspect the application, reproduce important failures, understand the architecture and dependencies, and identify the highest-risk areas before recommending large structural changes.
03 // Technical review
The review is grouped around whether the application can be changed, tested, and released safely.
Builds, SDKs, environments, signing, CI/CD, obsolete or incompatible dependencies, setup instructions, environment configuration, and release ownership.
Project structure, state management, networking, responsibility boundaries, coupling, error handling, testability, and the tests protecting critical logic.
Onboarding, authentication, password reset, payments, subscriptions, notifications, deep links, account deletion, and the product's primary workflow.
Authentication state, APIs, storage, authorization, realtime subscriptions, caching, race conditions, duplicate events, stale UI, and lifecycle behavior.
Gradle, Android manifests, Xcode, entitlements, URL schemes, permissions, push configuration, signing, production endpoints, and store submission blockers.
04 // How it works
Evidence comes before random edits. Each stage reduces uncertainty before the next commitment.
Gather the repository, build context, known symptoms, and only the permissions needed for the first phase.
Run the app, observe the important failures, collect logs, and confirm the expected behavior.
Separate visible symptoms from their state, API, lifecycle, native, backend, or architecture causes.
Rank launch, security, login, payment, and core-flow blockers ahead of polish.
Restore a safe build and repair the critical failures preventing reliable development or release.
Finish priority work and refactor only where it removes a demonstrated risk.
Move into features, maintenance, backend work, or release support only if it remains useful.
Not sure which path is appropriate? Start with the evidence.
05 // Repair or rewrite
Both are possible outcomes. The decision follows inspection and depends on product requirements, economics, and risk—not developer preference.
Messy code alone is not enough reason to throw away useful product work.
06 // Problem categories
I follow the failing product flow across platform boundaries instead of treating each technology as an isolated directory of skills.
Builds, signing, SDKs, dependencies, CI/CD
Sessions, verification, password reset, deep-link return
App links, universal links, intent filters, URL schemes
Push setup, events, badges, foreground and background behavior
Stale UI, caching, subscriptions, races, duplicate events
Supabase, storage, authorization, functions, integrations
Checkout, subscriptions, entitlements, restore purchase
Kotlin, Swift, permissions, manifests, entitlements
Slow flows, rendering, networking, memory, startup
Production configuration, signing, submission blockers
Architecture, error handling, tests, documentation
FEATURED // Relevant experience
SettleTab and Tare show product work spanning mobile, backend, and AI. They are relevant product-engineering examples, not rescue engagements.
SettleTab is a live Android app for itemized shared bills. People can scan a receipt or enter items manually, correct the bill, assign individual and shared purchases, calculate what each person owes, and share a read-only result.
Tare is a mobile habit reflection app that saves original check-ins, proposes structured fields for user review, and uses recorded history for progress views and insight paths.
SCOPE // Responsible scope
For an existing codebase, I prefer to review the repository and reproduce the main issues before committing to a detailed implementation estimate.
Hourly work or a small fixed scope can fit a narrow, reproducible issue.
Start with technical discovery or a capped review to identify the real risks.
Move from discovery into a prioritized implementation plan, milestones, or weekly capacity.
FAQ // Common questions
No. Symptoms and expected product behavior are enough to begin. The initial review is designed to find the important causes.
Yes. Inherited repositories, incomplete handoffs, and limited documentation are normal App Rescue situations.
No. I preserve useful work and recommend replacement only when inspection shows it is the safer and more economical path.
Yes. Flutter and React Native are both strong fits, with Kotlin or Swift work where native configuration or integrations require it.
Often, yes. I work across authentication, Supabase/PostgreSQL, APIs, storage, realtime behavior, server functions, and Android/iOS configuration.
I can discuss rough scope, but a reliable implementation estimate usually requires reviewing the relevant repository and reproducing the main issues.
Yes. The work can continue into features, maintenance, backend work, and release support, or end cleanly after the rescue phase.
Send the current symptoms, repository status, and the outcome you need. A short description is enough to start.