One codebase, both stores
One Flutter app for iOS and Android, with native Swift or Kotlin where a plugin isn’t enough.
- Flutter
- Dart
- Swift
- Kotlin
Freelance Flutter developer · iOS & Android
I'm Sanjeev Singh, a freelance Flutter developer who started on native Android and Java in 2016. I built CRUD Review, live on the App Store and Google Play, with subscriptions and free trials through both stores’ billing. One Flutter codebase, native Swift or Kotlin where a plugin falls short. You get a fixed quote within 24 hours, and you own the code.

01The usual problem
The app works in the demo. Then real users arrive, and the subscription says they never paid.
Sound familiar? Tick what applies to you.
02What you get
One Flutter app for iOS and Android, with native Swift or Kotlin where a plugin isn’t enough.
Free trials, upgrades, restores and cancellations handled on both stores, with the server as the source of truth, not the phone.
BLoC architecture, so every screen knows exactly what to show, and bugs are found in tests rather than by users.
The API, database and admin panel your app needs, so one person owns the whole system.
Privacy labels, permissions, sign-in rules and subscription wording set up so the build passes Apple and Google review.
Camera, QR scanning and OTP login, tested on real iPhones and Android phones.
03What changes
An app that works, and gets paid, on both stores.
04Overview
Flutter lets one codebase run on both iPhone and Android, so an app costs less to build and maintain than two native apps. Sanjeev Singh is a freelance Flutter developer who started on native Android and Java in 2016. He builds Flutter apps for iOS and Android, including the backend, subscriptions and store submission, and every project starts with a fixed written quote within 24 hours.
His main Flutter project is CRUD Review, an app live on the App Store and Google Play and rated 5.0 on Google Play. It has an owner console, a staff mode that logs in by scanning a QR code, OTP login and subscriptions with a 3-day free trial through both stores’ billing. The same backend serves a Next.js web app, so the business has one system across phone and browser.
Subscriptions and in-app purchases are where many Flutter apps fail. Common bugs include a paid user still seeing the paywall, Restore Purchases doing nothing on a new phone, and cancelled subscriptions unlocking premium for days. The fix is to make the server the source of truth: the backend checks receipts with Apple and Google and listens to App Store Server Notifications and Google Play Real-time Developer Notifications. Sanjeev builds subscriptions this way, on StoreKit 2 and Google Play Billing.
For structure, he uses BLoC state management, so each screen knows exactly what to show and bugs are caught in tests rather than by users. Where a plugin falls short, he writes the native part in Swift or Kotlin. Apps are tested on real iPhones and Android phones and set up to pass store review, with privacy details, permissions and subscription wording in order.
Typical work includes new Flutter apps from the first screen to both stores, fixing in-app purchases in existing apps, taking over apps another developer started, and resolving store rejections or crashing releases. The app is published under your own developer accounts, so the listing and its reviews belong to your business.
He works with clients in the UAE, Australia, the US and the UK. The timeline depends on the number of screens, the backend and the payments involved, and is written into the quote. Payment is in US dollars against milestones, each released after you have tested that stage on your own phone.
05Ways to work together
From the first screen to both stores, with its API and admin panel if you need them.
Trials, upgrades, restores and server receipt checks on StoreKit 2 and Google Play Billing.
An app someone else started, reviewed, fixed and moved forward, without a rewrite.
A rejected build or a crashing release, found, fixed and resubmitted.
06Proof
07In their words
Rated on Fiverr
5.0
23 reviewsRead them
Sanjeev has been instrumental across several projects. He understands the vision from very little direction, then brings commitment, technical skill and original thinking to turn it into a finished product.
Working with Sanjeev was a great experience.
Great job again.
01 / 03
08Your time, my time
Your time · Dubai
--:--
My time · Lucknow, India
--:--
Your office hours (9 AM–6 PM)When I'm on calls and chat
09Your options
Who builds it
Working with meMe, from the first screen to the stores
In-app purchases
Working with meTested on both stores before launch
The backend
Working with meBuilt by the same person
Who owns the code
Working with meYou, with every login, from day one
After launch
Working with meThe same person, one message away
| Working with me | An app agency | A marketplace gig | |
|---|---|---|---|
| Who builds it | Me, from the first screen to the stores | A team, after sales hands over | Whoever wins the bid |
| In-app purchases | Tested on both stores before launch | Usually included | Often left half done |
| The backend | Built by the same person | A separate team | Often not included |
| Who owns the code | You, with every login, from day one | Sometimes the agency | Depends on the seller |
| After launch | The same person, one message away | A support ticket queue | Ends when the gig closes |
10Free guide
Most subscription bugs come from the same few gaps. Check these before launch, whoever builds your app.
| Check | Why it matters |
|---|---|
| Price, length and trial shown before purchase | Both stores reject paywalls that hide the terms |
| Links to terms and privacy policy | Required on the subscription screen |
| Sandbox and test-track purchases tested | Catches broken flows before reviewers do |
| Account deletion inside the app | Apple requires it for apps with sign-up |
Building something new? Start with web app or mobile app.
11How we work
A short call on goals, audience and what success looks like.
Scope, timeline and price agreed in writing before work starts.
Working pages shared early on a staging link, refined with your feedback.
Go-live, speed and SEO checks, then handover. You own the code, domain and accounts.
12Questions
Yes, for most business and consumer apps. CRUD Review runs on one Flutter codebase on iOS and Android. Where a plugin isn’t enough, I write the native part in Swift or Kotlin.
Yes. The usual causes are trusting the phone instead of the server, missing restore handling and not listening for renewals and cancellations. I trace the full purchase flow on both stores and fix it at the source.
Yes, under your own developer accounts, so the app and its reviews belong to your business. I handle the store listings, privacy details and review submissions.
Yes. I build the API, database and admin panel in Node.js and PostgreSQL, so one person owns the whole system.
It depends on the number of screens, the backend and the payments involved. The written quote gives your exact timeline, and you get test builds on your own phone along the way.
I invoice in US dollars, wherever you are, against milestones agreed in the quote. You don’t pay for a stage until you’ve seen it working on your phone.
You do. The code, the store listings, the developer accounts and every login are in your name.
Question not here? Ask me directly.
Ask on WhatsAppLast updated
Ready when you are
Chat with Sanjeev
Tap a question or send your own.