> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scriptonia.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Mobile App Platform Guide

> Native iOS and Android apps: structure, prompts, backend and DB specs, and store deployment.

## Mobile App Platform Overview

Scriptonia has two **native** mobile platforms:

* **iOS** — SwiftUI, Swift, UIKit; App Store, Xcode Cloud
* **Android** — Kotlin, Jetpack Compose; Google Play, GCP

Each produces a blueprint (PRD, frontend/backend/db specs, LLM prompts, infra). There is **no separate cross-platform template** (e.g. React Native or Flutter); you choose **iOS** or **Android** per run. For both platforms, you can run a second Scriptonia project for the other OS.

* **Agents:** ProductManager, FrontendDev, BackendDev, DevOpsEngineer
* **Execution:** \~100 s each
* **Cost:** Same as other platforms (unified \$SCRIPT / USD)

***

## iOS vs Android vs Cross-Platform

| Aspect                   | iOS                   | Android                 | Cross-Platform (not a template) |
| :----------------------- | :-------------------- | :---------------------- | :------------------------------ |
| **Scriptonia template**  | ✓                     | ✓                       | —                               |
| **Stack**                | SwiftUI, Swift, UIKit | Kotlin, Jetpack Compose | —                               |
| **Backend in blueprint** | Node.js, Firebase     | Node.js, Firebase       | —                               |
| **Local DB**             | CoreData, Realm       | Room, Firebase          | —                               |
| **Store**                | App Store Connect     | Google Play Console     | —                               |
| **CI/CD in blueprint**   | Xcode Cloud           | GCP                     | —                               |

**Cross-platform:** To target both iOS and Android with one codebase (e.g. React Native, Flutter), use the **Web Application** template and in your **Idea / Intent** specify “React Native” or “Flutter” as the stack. The generated specs and prompts can then be tailored to that stack; there is no dedicated React Native / Flutter template in Scriptonia.

***

## Generated Structure

***

### iOS

```
<ProjectName>/
├── README.md
├── ios/
│   ├── swiftui.md
│   ├── storyboards.md
│   ├── navigation.md
│   ├── permissions.md
│   └── prompts/
│       └── generate_ios.txt
├── backend/
│   ├── api_contracts.md
│   ├── push_notifications.md
│   └── node_firebase.md
├── db/
│   └── local_storage.md
├── infra/
│   └── ci_cd.md
├── meta/
│   └── export.zip
├── FOLDER_STRUCTURE.md
└── REVIEW_REPORT.md
```

* **ios/** — SwiftUI, storyboards, navigation, permissions; **prompts/generate\_ios.txt** to generate iOS code
* **backend/** — API, push; Node and Firebase
* **db/** — CoreData (or Realm) for local storage
* **infra/** — CI/CD, Xcode Cloud

***

### Android

```
<ProjectName>/
├── README.md
├── android/
│   ├── kotlin_ui.md
│   ├── fragments.md
│   ├── navigation.md
│   └── prompts/
│       └── generate_android.txt
├── backend/
│   ├── api_contracts.md
│   ├── push_notifications.md
│   └── node_firebase.md
├── db/
│   └── firebase_schema.md
├── infra/
│   └── gcp_deploy.md
├── meta/
│   └── export.zip
├── FOLDER_STRUCTURE.md
└── REVIEW_REPORT.md
```

* **android/** — Kotlin UI, fragments, navigation; **prompts/generate\_android.txt** for Android code
* **backend/** — API, push, Node, Firebase
* **db/** — Firebase and Room
* **infra/** — GCP and CI/CD

***

## Build and Deployment

***

### iOS

1. **Generate app** — Use `ios/prompts/generate_ios.txt` with the ios specs to produce the Xcode project (SwiftUI / Swift)
2. **Xcode** — Open the project, set team and bundle ID, configure signing
3. **Backend** — Implement the API and push setup from **backend/**; connect the app to your API and Firebase if used
4. **App Store Connect** — Create app, fill metadata, upload build (Xcode or CI)
5. **infra/ci\_**[**cd.md**](http://cd.md) — Xcode Cloud or Fastlane for build, test, and upload
6. **TestFlight** — Internal and external testing before release

***

### Android

1. **Generate app** — Use `android/prompts/generate_android.txt` with the android specs to produce the Android project (Kotlin, Compose)
2. **Android Studio** — Open the project, set `applicationId`, signing config
3. **Backend** — Same as iOS: implement **backend/** and connect the app
4. **Google Play Console** — Create app, store listing, upload AAB
5. **infra/gcp\_**[**deploy.md**](http://deploy.md) — GCP and CI (e.g. GitHub Actions) for build and upload
6. **Internal / closed / open testing** — Then production

***

### Backend and DB

* **backend/node\_**[**firebase.md**](http://firebase.md) and **api\_**[**contracts.md**](http://contracts.md) — Implement the API (Node / Express or similar) and Firebase (auth, Realtime DB, Firestore, FCM) as specified
* **db/** — CoreData / Realm (iOS) or Room / Firebase (Android) for offline and local data; sync with the backend if needed
* Deploy the backend to a host (e.g. GCP, AWS, Railway) as in the infra notes

***

### Store requirements

* **iOS** — Apple Developer account, App Store Connect, privacy and compliance (e.g. App Tracking Transparency, Data Nutrition Labels if needed)
* **Android** — Play Console account, privacy policy URL, target SDK and permissions as required by Play policies
