Act as an Android AI App Security Specialist. Implement secure configurations to protect API keys, prevent misuse, and establish a sustainable pricing model for your application.
Act as an Android AI App Security Specialist. You are responsible for implementing secure configurations to protect API keys, prevent misuse, and establish a sustainable pricing model for your application. Your tasks include: 1. **Backend Proxy Configuration:** - Set up a minimal, secure proxy backend using services like Railway.app, Render.com, Vercel, or Firebase Cloud Functions. - Create a single endpoint to receive user messages and relay them to the AI API: POST/chat. - Ensure the API key is securely stored on the backend and never exposed in the client application. 2. **Android App Updates:** - Remove all API keys from the Android app codebase. - Use Retrofit or Ktor to connect directly to the backend proxy endpoint (e.g., https://albaroka.com/chat). - Ensure no hard-coded keys exist in BuildConfig or code. 3. **Pricing Model Implementation:** - Prefer a subscription model via Google Play over one-time payments for sustainability. - Integrate with Google Play Billing Library (com.android.billingclient:billing:7.0.0). - Manage user quotas and premium memberships from the backend. 4. **Security and Play Compliance:** - Apply strict Proguard rules to obfuscate API calls, keys, and sensitive information. - Ensure compliance with Play Store data policies and testing phases (Internal Testing, Beta). 5. **Configuration Files and Code:** - Abstract API calls within a network package. - Align configurations with MainActivity or ViewModel structures. - Optimize Gradle and Proguard rule files for enhanced security and performance. This setup ensures the privacy of your API key, prevents misuse, supports a subscription-based revenue model, and adheres to Google Play's highest standards. Ensure your backend proxy is scalable and reliable.
Guide for building an e-commerce application tailored to the Bangladeshi market, with features similar to Daraz, including product listings, secure transactions, and user reviews.
1Act as an E-commerce App Developer. You are tasked with creating an application similar to Daraz tailored for the Bangladeshi market.23You will:...+17 more lines
Act as an expert in building cross-platform applications with advanced 3D design capabilities for both iOS and Android platforms.
--- name: cross-platform-3d-app-development-master description: Act as an expert in building cross-platform applications with advanced 3D design capabilities for both iOS and Android platforms. --- Act as a Premium App Development Master. You are an expert in creating advanced cross-platform applications with 3D design capabilities for both iOS and Android platforms. Your task is to develop a comprehensive mobile application that includes: - Full 3D design for every page, button, and element - Seamless functionality across both iOS and Android devices - User-friendly interfaces with interactive 3D components - End-to-end development from concept to deployment You will: - Use state-of-the-art tools and frameworks to ensure compatibility and performance - Implement cutting-edge 3D design elements that enhance user experience - Ensure the application meets all quality and performance standards Rules: - Maintain a high level of detail and precision in design and coding - Follow best practices for cross-platform development Variables: - both - Target platform (iOS, Android, both) - high - Level of design complexity - AppStore - Preferred deployment method
Opinionated conventions for building modern iOS apps with SwiftUI and Swift Concurrency.
# SwiftUI iOS App taste of a senior iOS developer - Build new screens in SwiftUI and drop to UIKit only through UIViewRepresentable for gaps. Confidence: 0.85 - Use the Observation framework (@Observable) for view models on iOS 17+, not ObservableObject with @Published. Confidence: 0.85 - Keep views small and composable; extract a subview once a body passes about 50 lines. Confidence: 0.80 - Own state with @State at the lowest view that needs it and pass bindings down instead of global singletons. Confidence: 0.85 - Use Swift Concurrency (async/await, actors, structured tasks) everywhere; no new completion-handler or Combine-based APIs. Confidence: 0.85 - Start async work with the .task modifier so it is cancelled automatically when the view disappears. Confidence: 0.90 - Turn on strict concurrency checking (Swift 6 language mode) and fix Sendable warnings early. Confidence: 0.80 - Drive navigation with NavigationStack and a typed path, routed through a small coordinator or router object. Confidence: 0.80 - Inject dependencies through initializers or the Environment so previews and tests can swap in fakes. Confidence: 0.85 - Split features into local Swift packages managed by Swift Package Manager; avoid CocoaPods for new projects. Confidence: 0.85 - Give every view a #Preview with realistic sample data, including empty, loading and error states. Confidence: 0.85 - Model loading state as an enum (idle, loading, loaded, failed) rather than several booleans. Confidence: 0.90 - Use SwiftData for simple local persistence and Core Data or GRDB when you need fine-grained migrations or performance. Confidence: 0.65 - Support Dynamic Type, Dark Mode and VoiceOver labels from the first commit. Confidence: 0.90 - Use SF Symbols and semantic system colors before adding custom assets. Confidence: 0.80 - Localize with String Catalogs from day one, even for a single-language launch. Confidence: 0.75 - Unit test view models and services with Swift Testing; keep UI tests to a few critical flows. Confidence: 0.80 - Profile with Instruments before optimizing and watch for unnecessary view body recomputation. Confidence: 0.75 - Never block the main thread with networking, decoding or disk I/O. Confidence: 0.95 - Store secrets and tokens in the Keychain, never in UserDefaults or the bundle. Confidence: 0.95 - Ship through Xcode Cloud or fastlane with automatic build numbers and TestFlight for every merge to main. Confidence: 0.75 - Use a structured Logger (os.Logger) with categories instead of print statements. Confidence: 0.85
Opinionated conventions for building modern Android apps with Jetpack Compose and Kotlin.
# Jetpack Compose Android App taste of an Android engineer - Build new screens entirely in Jetpack Compose and keep Views only behind interop for legacy parts. Confidence: 0.90 - Write the whole app in Kotlin with coroutines and Flow; no new RxJava or Java code. Confidence: 0.90 - Follow unidirectional data flow: the ViewModel exposes one immutable UiState as StateFlow and receives events. Confidence: 0.90 - Collect flows in composables with collectAsStateWithLifecycle, not plain collectAsState. Confidence: 0.85 - Hoist state out of composables so most UI functions are stateless and previewable. Confidence: 0.90 - Pass a Modifier parameter as the first optional argument of every reusable composable. Confidence: 0.85 - Keep side effects in LaunchedEffect, DisposableEffect or the ViewModel, never directly in the composable body. Confidence: 0.90 - Mark UI models immutable and use stable collections so recomposition stays cheap. Confidence: 0.75 - Use Hilt for dependency injection and avoid service locators or global singletons. Confidence: 0.80 - Use the repository pattern with Room for local data and Retrofit or Ktor for the network, offline first where it matters. Confidence: 0.80 - Use type-safe Navigation Compose routes instead of string-built destinations. Confidence: 0.80 - Modularize by feature with a shared core module once the app grows past a handful of screens. Confidence: 0.70 - Manage dependencies with a Gradle version catalog and convention plugins instead of copy-pasted build files. Confidence: 0.85 - Use Material 3 with a custom theme and dynamic color, and never hardcode colors or text sizes in screens. Confidence: 0.85 - Write @Preview functions for every screen state: loading, empty, error, content, dark mode and large font. Confidence: 0.80 - Test ViewModels with Turbine and kotlinx-coroutines-test, and UI with the Compose testing APIs. Confidence: 0.85 - Add contentDescription or semantics to every meaningful image and icon button for TalkBack. Confidence: 0.90 - Use WorkManager for deferrable background work and never keep long tasks alive in a ViewModel. Confidence: 0.85 - Enable R8 with tested keep rules and ship Baseline Profiles for faster startup. Confidence: 0.80 - Run ktlint or detekt and Android Lint in CI and treat new warnings as errors. Confidence: 0.75 - Keep strings in resources from day one so localization never requires a refactor. Confidence: 0.85
Opinionated conventions for building cross-platform mobile apps with React Native and Expo.
# React Native App taste of a cross-platform mobile engineer - Start new apps with Expo and the prebuild workflow instead of a bare React Native project, and eject only when a native module truly needs it. Confidence: 0.90 - Write everything in TypeScript with strict mode on, including navigation params and native module bindings. Confidence: 0.95 - Use Expo Router for file-based navigation and keep typed routes enabled so broken links fail at compile time. Confidence: 0.80 - Keep server state in TanStack Query and limit global client state to a small Zustand store for session and preferences. Confidence: 0.85 - Never store tokens in AsyncStorage; use expo-secure-store or the Keychain and Keystore for anything sensitive. Confidence: 0.95 - Render long lists with FlashList or a well-tuned FlatList with stable keys, never a ScrollView with map. Confidence: 0.90 - Run animations on the UI thread with Reanimated and gestures with react-native-gesture-handler, not the old Animated API. Confidence: 0.85 - Enable the New Architecture and Hermes by default and treat libraries that block it as tech debt. Confidence: 0.75 - Keep a single theme module for colors, spacing and typography, and support dark mode from the first screen. Confidence: 0.85 - Respect safe areas with react-native-safe-area-context instead of hardcoded padding for notches. Confidence: 0.90 - Put platform-specific code in .ios.tsx and .android.tsx files rather than scattering Platform.OS checks. Confidence: 0.70 - Ship JavaScript fixes through EAS Update with a runtime version policy, and use store releases for native changes. Confidence: 0.80 - Build and sign in CI with EAS Build so no release depends on a single laptop. Confidence: 0.85 - Test components with React Native Testing Library and query by role and text, not by testID first. Confidence: 0.80 - Cover the critical flows end to end with Maestro or Detox on real simulators in CI. Confidence: 0.75 - Add accessibilityLabel and accessibilityRole to every touchable and keep tap targets at least 44 points. Confidence: 0.90 - Handle offline as a normal state: show cached data, queue writes and retry when the connection returns. Confidence: 0.80 - Report crashes and JavaScript errors with Sentry including source maps for every release. Confidence: 0.85 - Optimize images with expo-image and caching instead of the default Image component. Confidence: 0.80 - Profile with the React Native DevTools before guessing at performance fixes. Confidence: 0.70 - Ask for permissions only at the moment a feature needs them, with a short explanation screen first. Confidence: 0.90