Vibe code to app stores

Flutter

2 min read

These guides walk through the full process of publishing a vibe-coded Flutter app to the Google Play Store and the Apple App Store — covering Flutter SDK setup, signing, and store submission.

Lunadeck automates most of this pipeline (framework detection, builds, signing, and store upload), but these guides are useful if you want to understand what's happening under the hood, build locally before connecting to Lunadeck, or troubleshoot issues with your project.

What is Flutter?

Flutter apps are written in Dart and use Flutter's own rendering engine — they don't render native platform widgets, but they look and feel polished on both Android and iOS because Flutter draws every pixel itself. Flutter compiles to native ARM code, so performance is excellent.

The build outputs Lunadeck and these guides target are:

  • Android: an App Bundle (.aab) for Google Play, built with flutter build appbundle --release
  • iOS: an archive (.xcarchive) exported to an .ipa, built with flutter build ipa

Guides by operating system

PlatformStores coveredStatus
Android on LinuxGoogle PlayAvailable
Android on WindowsGoogle PlayAvailable
Android & iOS on macOSGoogle Play + App StoreAvailable

iOS requires macOS. Building for the App Store is only possible on a Mac — Apple's toolchain (Xcode, codesigning, the iOS SDK) is macOS-only.

What you'll need

  • Flutter SDK 3.16 or newer
  • Java JDK 17 and Android Studio (Android builds)
  • Xcode 15 or newer (iOS builds, macOS only)
  • A Google Play Developer account ($25 one-time) to publish Android apps
  • An Apple Developer Program membership ($99/year) to publish iOS apps
  • At least 10 GB of free disk space (more on macOS if building for both platforms)

Identifying a Flutter project

A Flutter project has:

  • pubspec.yaml at the root — the project manifest (name, version, dependencies)
  • lib/main.dart — the app entry point
  • android/ and/or ios/ directories containing the native project shells

If your AI-generated project has these files, you have a Flutter project and these guides apply.