PromptBase
PromptBase SelectGet Select
Close icon
General
Home
Marketplace
Create
Hire
Login
Chat
Sell
Explore

Prompt Details

Model
Chat - (gpt-5.6)
Token size
2,908
Example input
[Describe the app, core features, user workflows and business requirements]: A field-service app for technicians who visit customer locations. Technicians receive assigned jobs, view customer details, scan equipment QR codes, capture photos, complete inspection checklists, collect customer signatures, and submit service reports. [Android, iOS, web, desktop or other required platforms]: Android + iPadOS [React Native, Flutter, Expo, Kotlin Multiplatform, or no preference]: No preference [API requirements, local storage, offline behavior, synchronization and data volume]: GraphQL backend. Technicians must continue working in areas with poor connectivity. Photos and completed reports must synchronize when connectivity returns. [Expected users, app complexity, performance targets, background workloads and scalability needs]: 25,000 technicians, potentially 500+ checklist items per job, large photo attachments, rapid QR scanning, 8-hour field sessions.
Example output
PHASE 1 — REQUIREMENT RECONSTRUCTION Confirmed Requirements Technician-focused field-service workflow Android + iPadOS Job assignment and job details QR/barcode scanning Customer/location information Inspection checklists GPS Photo capture Digital signatures Bluetooth printer Offline operation Offline maps GraphQL backend Large attachment synchronization Enterprise-scale deployment Long field sessions Automated CI/CD Technical Context This is not primarily a consumer-content application. The highest-risk areas are: 1. Offline reliability 2. Large photo storage 3. Background upload 4. Camera/QR scanning 5. Bluetooth printer integration 6. GPS behavior 7. Long-running field sessions 8. Data recovery Assumptions Each technician can have multiple assigned jobs. A job can contain hundreds of checklist questions. Photos belong to specific jobs or checklist items. Completed reports must not be lost if connectivity disappears. Customer signatures have business/legal importance. The application needs to support enterprise-managed devices. Unknowns Required minimum Android version Required iPadOS versions Whether GPS must operate continuously Printer models/protocols Maximum photo size Maximum offline duration Whether administrators need remote device management Exact GraphQL conflict-resolution requirements These should be confirmed before final implementation. --- PHASE 2 — CROSS-PLATFORM FRAMEWORK DECISION Framework Comparison Requirement React Native Expo Flutter Kotlin Multiplatform Existing Dart expertise Low Low Excellent Low Complex custom UI Strong Strong Excellent Good Camera/QR Strong Strong Strong Strong Bluetooth printer Good Potential native configuration Strong Strong Offline-first architecture Strong Strong Excellent Excellent iPad support Strong Strong Excellent Strong Large interactive forms Strong Strong Excellent Good Native customization Strong Strong Strong Excellent Team productivity Medium Medium Excellent Low Recommendation Flutter is the strongest choice. Why? The team already has Dart experience, and the application requires: Complex forms Large checklist interfaces Camera workflows Offline data Hardware integration Long field sessions iPad layouts Flutter provides a consistent rendering environment while still allowing native platform channels when required. Trade-off Kotlin Multiplatform could provide deeper native sharing, but it would introduce a larger learning curve for the existing team. React Native could also work, but it would provide less alignment with the team's existing Dart expertise. --- PHASE 3 — APPLICATION ARCHITECTURE DESIGN Use a feature-first Flutter architecture with clear domain/data boundaries. lib/ ├── app/ │ ├── router/ │ ├── theme/ │ └── bootstrap/ │ ├── features/ │ ├── jobs/ │ ├── inspections/ │ ├── scanner/ │ ├── attachments/ │ ├── signatures/ │ ├── maps/ │ └── printing/ │ ├── domain/ │ ├── entities/ │ ├── repositories/ │ └── services/ │ ├── data/ │ ├── graphql/ │ ├── database/ │ ├── repositories/ │ └── synchronization/ │ ├── platform/ │ ├── camera/ │ ├── bluetooth/ │ ├── location/ │ └── filesystem/ │ └── shared/ ├── widgets/ ├── errors/ └── utilities/ Dependency Direction Presentation ↓ Application ↓ Domain ↓ Repository Interfaces ↓ Data / Platform Implementations The domain layer should not know about: Flutter widgets GraphQL implementation details Android APIs iPadOS APIs Bluetooth SDKs This keeps business logic independently testable. --- PHASE 4 — SHARED VS PLATFORM-SPECIFIC CODE Capability Decision Reason Job management UI Shared Same workflow Inspection checklist Shared Same business rules Validation Shared Platform-independent GraphQL client Shared Same backend Offline database Shared Same data model Sync engine Shared Same synchronization rules QR scanning UI Shared Same user workflow Camera access Hybrid Native camera behavior underneath GPS Hybrid OS permission/lifecycle differences Bluetooth printer Platform adapter Hardware APIs can differ File system Platform adapter Storage behavior differs Digital signature Shared UI + platform storage Secure persistence differs Offline maps Hybrid Map engine/platform behavior may differ Important Boundary Do not allow printer logic to enter the job feature: JobScreen → Bluetooth API Instead: JobScreen ↓ PrintReportUseCase ↓ PrinterRepository ↓ Android Printer Adapter iPadOS Printer Adapter This prevents hardware-specific code from spreading through the application. --- PHASE 5 — STATE MANAGEMENT ARCHITECTURE State should be divided according to ownership. UI State Examples: Expanded checklist section Current tab Scanner overlay Temporary form values Keep this close to the relevant widget/feature. Job State Owned by the job feature. Job ├── Customer ├── Location ├── Checklist ├── Photos └── Signature Persistent State Stored locally: Assigned jobs Checklist responses Upload status Attachments Draft reports Synchronization State Each important record should expose something similar to: Local Pending Upload Uploading Uploaded Failed Needs Review State Flow Technician Action ↓ Use Case ↓ Local Repository ↓ UI Updates Immediately ↓ Sync Queue ↓ Remote GraphQL API The application should not require the server response before confirming local work. --- PHASE 6 — NAVIGATION ARCHITECTURE Application │ ├── Authentication │ ├── Login │ └── Device Verification │ └── Technician Workspace │ ├── Job Queue │ ├── Job Details │ ├── Customer │ ├── Equipment │ ├── Inspection │ ├── Photos │ ├── Signature │ └── Report │ └── Settings Inspection Flow Job ↓ Equipment Scan ↓ Inspection Checklist ↓ Capture Evidence ↓ Customer Signature ↓ Review Report ↓ Submit iPad Behavior The iPad should use available larger-screen space. For example: ┌─────────────────┬──────────────────────┐ │ Job Sections │ Current Section │ │ │ │ │ Customer │ Inspection Questions │ │ Equipment │ │ │ Inspection │ │ │ Photos │ │ │ Signature │ │ └─────────────────┴──────────────────────┘ On smaller Android devices, use a single-column navigation flow. This is a case where responsive shared UI is better than duplicating entire screens. --- PHASE 7 — DATA & OFFLINE ARCHITECTURE This is the most critical part of the application. Local Database Store: Technician Job Customer Equipment Checklist ChecklistResponse Attachment Signature SyncOperation Offline-first workflow Open Job ↓ Read Local Database ↓ Technician Works ↓ Save Every Important Action Locally ↓ Create Sync Operations ↓ Connectivity Returns ↓ Synchronization Photos Do not immediately upload full-resolution images synchronously. Instead: Camera ↓ Local File ↓ Attachment Record ↓ Compression/Processing ↓ Upload Queue ↓ Cloud Storage ↓ GraphQL Metadata Update Conflict Resolution Different data types need different strategies. Checklist response Use version-aware updates. Technician notes Prefer explicit merge rules. Job assignment Server should remain authoritative. Attachments Use immutable attachment IDs. Completed report Once submitted, treat it as a controlled state transition rather than allowing unrestricted overwrites. --- PHASE 8 — NATIVE MODULE ARCHITECTURE QR Scanner Use a Flutter-compatible scanning implementation where possible. Only introduce custom native code if required by the scanner hardware or performance requirements. Bluetooth Printer Create: PrinterService Interface: connect() discover() print() disconnect() Platform implementations: AndroidPrinterService iPadPrinterService Failure behavior If printing fails: Print Failed ↓ Keep Report Locally ↓ Show Retry ↓ Allow Later Printing The report must never be lost because a printer is unavailable. GPS Expose: LocationService Handle: Permission denied Permission revoked Location unavailable Reduced accuracy Background restrictions Digital Signature Store the signature locally with the report and synchronize it as an attachment or structured record according to backend requirements. --- PHASE 9 — PUSH NOTIFICATION ARCHITECTURE Notifications can inform technicians about: New job assignment Job reassignment Schedule changes Urgent service requests Report rejection Administrative messages Flow Backend ↓ Push Provider ↓ Device ↓ Notification ↓ Route Resolver ↓ Relevant Job Example: New Job Assigned ↓ Tap Notification ↓ Authentication Check ↓ Job ID Validation ↓ Open Job Details Important Do not place sensitive customer information directly into notification text. Instead: "New service assignment" rather than exposing confidential customer details. --- PHASE 10 — DEEP LINKING ARCHITECTURE Use secure app/universal links where appropriate. Example: https://field.example.com/jobs/84521 Flow: Incoming Link ↓ Parse Job ID ↓ Validate Format ↓ Check Authentication ↓ Check Local Cache ↓ Fetch if Necessary ↓ Open Job Offline Deep Link If the requested job exists locally: Deep Link ↓ Local Job Found ↓ Open Immediately If it does not: Deep Link ↓ No Local Data ↓ No Network ↓ Friendly Offline Message No crash and no infinite loading. --- PHASE 11 — BACKGROUND EXECUTION ARCHITECTURE Background work should primarily support synchronization rather than continuous processing. Photo Upload Attachment Pending ↓ Network Available ↓ Upload Eligible ↓ Upload ↓ Verify ↓ Mark Complete Retry Use bounded retry with increasing delays. Example: Attempt 1 ↓ Failure ↓ Wait ↓ Attempt 2 ↓ Failure ↓ Wait Longer ↓ Attempt 3 After repeated failures: Sync Failed ↓ Persist Error ↓ Show Pending Status ↓ Retry on Later Opportunity Battery Protection Do not continuously poll GPS or server endpoints unless the actual product requirement requires it. --- PHASE 12 — PERFORMANCE ARCHITECTURE The application has a major performance risk: 500+ checklist items plus large photos. Checklist Do not render every complex widget simultaneously. Use: Lazy rendering Section-based loading Efficient list rendering Minimal rebuilds Photo Processing Resize/compress before upload where business requirements permit. Maintain the original only if legally or operationally required. QR Scanning The scanning screen should minimize unnecessary widget rebuilds. Memory Avoid loading all job photos into memory. Use file references and thumbnails. Performance Budgets Suggested initial targets: Job screen interaction: under 100 ms perceived response QR scan feedback: near-immediate Checklist scrolling: smooth 60 FPS target Avoid loading hundreds of full-resolution images simultaneously Keep startup work limited to essential initialization Measure these on representative enterprise devices. --- PHASE 13 — SECURITY & RELIABILITY ARCHITECTURE Authentication Use secure authentication tokens and platform-secure credential storage. Authorization Never rely only on the mobile UI to enforce permissions. The server must enforce: Technician → Authorized Jobs Technician → Authorized Customer Data Technician → Authorized Actions Local Security Sensitive customer data should be minimized and protected at rest where required by the threat model. Photo Security Photos should not be exposed through uncontrolled public URLs. Use controlled upload/download mechanisms. Logging Do not log: Customer secrets Authentication credentials Private documents Tokens Full sensitive payloads Crash Recovery If the application crashes during inspection: Crash ↓ Restart ↓ Recover Local Draft ↓ Resume Inspection This is a critical requirement for field software. --- PHASE 14 — TESTING & QUALITY ARCHITECTURE Unit Tests Test: Checklist validation Report generation Job state transitions Sync decisions Retry rules Conflict resolution Permission logic Widget Tests Test: Checklist rendering Job screens Signature UI Error states Offline indicators Integration Tests Test: UI ↓ Use Case ↓ Local Database ↓ Sync Queue Native Tests Platform-specific tests for: Bluetooth Camera GPS File storage Permissions Offline Tests Simulate: 1. No connection before opening job 2. Connection loss during inspection 3. Connection loss during photo upload 4. App restart with pending changes 5. Duplicate synchronization 6. Server rejection 7. Partial upload E2E Scenario Login ↓ Open Job ↓ Scan Equipment ↓ Complete Checklist ↓ Capture Photo ↓ Sign Report ↓ Lose Network ↓ Save Report ↓ Reconnect ↓ Synchronize ↓ Verify Server Result --- PHASE 15 — BUILD, CI/CD & RELEASE STRATEGY Environment Structure Development ↓ QA ↓ Enterprise Staging ↓ Production Each environment gets separate configuration. CI Pipeline Pull Request ↓ Formatting ↓ Static Analysis ↓ Unit Tests ↓ Widget Tests ↓ Integration Tests ↓ Build Android ↓ Build iPadOS ↓ Release Candidate Enterprise Deployment Because this is a field-service application, consider: Managed device deployment Enterprise app distribution Device configuration policies Controlled rollout Internal testing groups The exact distribution model should be confirmed with the organization's device-management strategy. Release Strategy Use: Internal QA ↓ Pilot Technicians ↓ Limited Production ↓ Full Rollout Monitor crash rates and synchronization failures after each release. --- PHASE 16 — FINAL CROSS-PLATFORM ARCHITECTURE BLUEPRINT 1. 🎯 Architecture Executive Summary Flutter + feature-oriented architecture + local-first data layer + platform adapters. The architecture prioritizes: Field reliability Offline operation Large checklist performance Hardware integration Code reuse Recoverability The application should remain usable even when the network or printer fails. --- 2. ⚖️ Framework Decision Selected: Flutter Reason: Strong team expertise, excellent cross-platform UI consistency, suitable hardware integration model, and good fit for complex field workflows. Trade-off: Some hardware integrations will still require native/platform-specific work. --- 3. 🏗️ System Architecture Flutter Presentation ↓ Feature/Application Layer ↓ Domain Layer ↓ Repository Interfaces ↓ Local DB / GraphQL / Sync ↓ Platform Adapters --- 4. 🔄 Shared Code Boundary Share: Business rules Models Repository interfaces GraphQL operations Offline engine Sync logic Most UI Keep platform-specific: Bluetooth implementation OS permission details Filesystem edge cases Specialized hardware integrations --- 5. 🧠 State Architecture Use: Widget State + Feature State + Persistent Database + Synchronization State Do not create one giant application-wide state object. --- 6. 🧭 Navigation Auth ↓ Job Queue ↓ Job ├── Inspection ├── Evidence ├── Signature └── Report Use adaptive layouts for phone-like Android screens and larger iPad displays. --- 7. 🗄️ Data Architecture Local database is the operational source for offline workflows. GraphQL provides server synchronization. Attachments use a separate upload pipeline. --- 8. 🔌 Native Architecture Flutter Interface ↓ Platform Service ↙ ↘ Android iPadOS Use native code only where framework/plugin capabilities are insufficient. --- 9. 📡 Notifications Push events should resolve to application routes. Push ↓ Job ID ↓ Route ↓ Job Screen Sensitive information stays out of notification payloads. --- 10. 🔗 Deep Links Every supported link maps to a stable route. Invalid or unavailable jobs receive safe fallback handling. --- 11. ⏱️ Background Execution Use background execution primarily for: Pending uploads Synchronization Deferred processing Never assume the application can execute continuously in the background. --- 12. ⚡ Performance Highest priorities: 1. Checklist rendering 2. Photo memory usage 3. Database queries 4. Sync throughput 5. QR scanning responsiveness 6. Long-session memory stability --- 13. 🛡️ Security & Reliability Most important controls: Secure authentication storage Server-side authorization Protected customer data Secure attachment handling Draft recovery Persistent sync queue Crash reporting Safe retry behavior --- 14. 🧪 Testing Testing must include both: Shared Flutter Logic + Android Hardware + iPadOS Hardware Offline and synchronization testing should be treated as first-class test categories rather than edge cases. --- 15. 🚀 Build & Release Developer ↓ CI ↓ Automated Tests ↓ QA ↓ Pilot ↓ Limited Rollout ↓ Production ↓ Crash + Sync Monitoring --- 16. 📋 Final Implementation Roadmap Month 1 Flutter foundation Authentication Job model Navigation Local database GraphQL integration Month 2 Job workflow Inspection checklist Offline persistence Draft recovery Month 3 Camera QR scanning GPS Photo processing Signature workflow Month 4 Synchronization engine Bluetooth printing Push notifications Deep links Offline maps Month 5 Performance profiling Hardware testing Offline stress testing Security testing Enterprise pilot Production rollout 🏆 FINAL ARCHITECTURAL VERDICT Best architecture: Flutter + local-first data architecture + shared domain logic + explicit platform adapters. The key decision is not "make everything shared." Instead: SHARED │ ┌────────────┼────────────┐ │ │ │ Business Data UI Logic Model Workflows │ │ │ └────────────┼────────────┘ │ PLATFORM BOUNDARY ↙ ↘ Android iPadOS Hardware Hardware This gives the engineering team a realistic production architecture without allowing offline synchronization, Bluetooth, GPS, camera, or enterprise-device constraints to become hidden technical debt.
GPT

Cross Platform App Architecture Optimize

Add to Cart
Instant accessInstant access
Usage rightsCommercial use
Money-back guaranteeMoney‑back
By purchasing this prompt, you agree to our terms of service
GPT-5.6
Tested icon
Guide icon
4 examples icon
Free credits icon
This prompt analyzes the requirements and produces a complete architecture blueprint for React Native, Flutter, Expo, or Kotlin Mult 🏗️ Choose the right cross-platform architecture 🔄 Decide shared vs platform-specific code 🧠 Design state & navigation systems 🔌 Plan native modules & integrations 📡 Architect offline & background behavior ⚡ Optimize app performance 🚀 Design build & release strategy Turn complex mobile requirements into a scalable, production-ready architecture blueprint. 🚀📱
...more
Added over 1 month ago
Report
Browse Marketplace