First Android build free — no card

    Your Lovable app is built. Now get it onto your phone.

    Corenna takes your GitHub repo and hands you a signed .apk you can install on a real phone, sends the .aab straight to Google Play, and builds a signed .ipa for the App Store. Web apps, Flutter and React Native all build. You never open Android Studio, Xcode, or a Mac.

    Not sure your repo is ready? Check it free in 10 seconds — no account needed.

    Your first Android build is free — no card. After that it is $2.99/month. Android updates go from Corenna straight to your Google Play track; for iOS, you upload the signed .ipa to App Store Connect.

    acme/recipesSuccess
    Repo
    Build
    Sign
    Artifact
    • .aab
      Sent to Google Play
      18.4 MB
    • .apk
      Install on a device
      22.1 MB
    • .ipa
      App Store Connect
      26.7 MB
    • You own your code — always
    • Your repos, your keys, your builds
    • Trigger and monitor from your phone
    • Export everything or self-host
    • No lock-in — cancel and keep your work
    What builds

    Three stacks in, the same signed files out.

    Web app

    Details

    A site or web app wrapped with Capacitor. This is what Lovable, Bolt, v0 and Replit produce — Corenna builds the web output and wraps it.

    Looks like
    package.json + a build that outputs dist/

    Flutter

    Details

    A Dart codebase. Corenna runs flutter build appbundle and flutter build ipa on hosted runners, with your signing already wired in.

    Looks like
    pubspec.yaml with a flutter: section

    React Native

    Details

    React compiled to native. Corenna installs dependencies, runs pod install, and builds the Xcode and Gradle projects in your repo as they are.

    Looks like
    react-native in package.json + android/ and ios/

    Not sure which you have? The repo check reads it for you. Expo apps build once expo prebuild has been committed.

    How it works

    Three steps, and none of them need a Mac.

    01

    Paste your repo link

    Point Corenna at your repo — a web app, a Flutter project or a React Native project. It reads which one it is, checks it, and names anything missing before a build starts.

    02

    Add your signing once

    Android needs a signing key — Corenna generates one on the first build and shows you the password to keep, or you upload the one your app already uses. For iOS you add your Apple certificate once.

    03

    Ship the signed app

    Watch the build live, then install the .apk on a real phone, send the .aab straight to Google Play, or take the .ipa to App Store Connect.

    Before the stores

    Put it in someone’s hands this afternoon.

    You do not have to submit anything to find out whether your app works. Every Android build hands you an .apk — a real, installable app you can run yourself and pass to other people while you are still changing things. Your first one is free, so you can find out before you pay anything.

    Install it on your own phone

    The .apk installs straight onto any Android phone. No Play Console, no review queue, no internal test track to configure first.

    Send it to whoever you want

    It is a file. Message it, email it, drop it in a shared folder. They open it and allow installs from that app once — the same prompt any sideloaded app shows.

    Signed with your key from day one

    Test builds use the same signing key as your store release, so updates install over the top instead of being refused as a different app.

    iPhone is not the same. Apple only installs a build on a device it already knows about, so sharing an .ipa means TestFlight or a provisioning profile with that device on it. The .aab and .ipa are waiting for when you are ready for the stores.

    Already on Google Play

    Ship the next update from your phone.

    Corenna can take over updates for an app that is already live. Each one is built from your repo, signed, and sent straight to Google Play with a tap — from a laptop, or from the phone in your pocket.

    Straight to your Play track

    Connect Google Play once. Then pick internal testing, closed testing, open testing or production, add release notes, and send. No Android Studio build, no dragging an .aab into the Play Console.

    Same listing, same reviews

    The update is signed with the key your app already uses and keeps the package ID from your repo, so it lands on your existing listing instead of quietly becoming a new app.

    Version codes handled

    Every build gets a higher version code. Set the starting number once, above your latest release, and Corenna counts up from there.

    Google requires a brand-new app’s very first release to be created in the Play Console by hand. Every update after that can come from Corenna. iOS builds come back signed for App Store Connect, where you upload them. How to ship an update to a live app

    Signing

    The iOS part that stops everyone.

    Signing is where most attempts to ship iOS from CI stall — not because it is conceptually hard, but because five separate things have to be exactly right on a machine you cannot see, and the error when one is not names none of them.

    Writing the workflow yourself
    • Create a build keychain, import the .p12, and set its partition list — miss that last part and codesign hangs waiting for a prompt no one can answer.
    • Stop the keychain relocking part-way through the archive, or the build dies with "User interaction is not allowed".
    • Pull the UUID out of the provisioning profile, because PROVISIONING_PROFILE_SPECIFIER will not accept its name.
    • Write an ExportOptions.plist with a provisioningProfiles map, or -exportArchive finishes and produces nothing.
    • Then debug a codesign error that mentions none of the above.
    With Corenna
    • Upload the .p12 and the .mobileprovision once. They are encrypted at rest and never go near your repo.
    • Before a build starts, the profile is parsed and checked: Team ID, Bundle ID and expiry against the app you are actually building.
    • Every step on the left is already in the workflow Corenna writes into your repo, including the two that only surface on a hosted runner.
    • When signing does fail, it comes back as a sentence naming the file to re-export — not an exit code.

    What Corenna does not do is create the certificate. Apple is the only issuer, so the developer portal is one trip you still make: a distribution certificate and a provisioning profile for your bundle ID. Android works differently — there Corenna generates the keystore on your first build and shows you the password to keep. We would rather say which is which here than have you discover it after paying.

    Ownership

    You own your code. Period.

    We never claim rights to your repositories, signing keys, or build artifacts. Export everything as JSON at any time. Download a self-host bundle with the GitHub Actions YAML and Fastfile so you can run builds without us — forever.

    • One-click data export (GDPR)
    • Self-host workflow bundle
    • Full account deletion
    .apk & .aab
    Android — sent straight to Google Play
    .ipa
    iOS — upload to App Store Connect
    Platforms

    Built with one of these? Start here