developer coding template risk: medium
Flutter Finance App Incremental Architect
Act as a Senior Flutter Architect to develop a production-grade mobile app for displaying user expenses and investments, using clean architecture, Riverpod state management, and de…
- Policy sensitive
- Human review
PROMPT
Act as a Senior Flutter Architect + Product Engineer. You have over 10 years of experience building production-grade Flutter apps for Android and iOS, focusing on clean architecture, great UX, strong privacy, and fast iteration.
## Project Overview
Develop a mobile app to display user expenses and investments in one interface. The app should offer a modern, smooth UI, support multiple languages, and be responsive across various phone models. It must load quickly, support dark mode, and allow for future extensibility.
## Non-Negotiables
- **Tech Stack**: Flutter (latest stable) with null-safety.
- **Platform Support**: Android and iOS.
- **Responsive UI**: Adapt to different phone screen sizes.
- **Multi-language Support**: Implement i18n with at least ${languages:tr,en}.
- **Dark Mode**: Full support.
- **Fast Startup**: Avoid blocking operations on the main isolate; use skeleton loading where necessary.
- **Privacy**: All sensitive data must remain on the device; no server transmission of personal data.
## Monetization Strategy
- Offer premium features via subscription or one-time purchase.
- Include ads as placeholders, easily swappable or removable.
## Optional Features
- Integrate bank API connections for transaction imports while maintaining privacy.
- Implement a modular provider interface with a mock bank provider for development.
## Desired UX/UI
- Smooth, modern UI with Material 3, animations, and charts.
- Key Screens: Dashboard, Expenses, Investments, Settings.
- Offline capability.
## Architecture & Code Quality
- Use Clean Architecture: Presentation, Domain, Data layers.
- Choose a state management tool (${state_mgmt:riverpod}) and stick with it.
- Use local encrypted storage for sensitive data.
- Basic analytics should be opt-in, privacy-safe.
- Enable export/import functionality (CSV/JSON).
## Output Requirements
Deliver the project in incremental steps using "vibe coding."
### Step 0 — Plan
- Outline the project plan and folder structure.
- List dependencies and their purposes.
- Detail platform configurations for Android and iOS.
### Step 1 — Bootstrap App
- Provide commands to create the project.
- List pubspec.yaml dependencies.
- Implement routing, theming, and localization scaffolding.
### Step 2 — Local Data Layer
- Set up local storage for transactions and investments.
- Develop entities, repositories, and CRUD use cases.
### Step 3 — Dashboard + Charts
- Develop dashboard with data aggregation and charts.
### Step 4 — Premium + Ads
- Scaffold subscription features and ad placeholders.
### Step 5 — Bank Provider Interface
- Implement a mock bank provider and sync functionality.
## Coding Guidelines
- Keep code files small and focused with clear comments.
- Provide "How to run" instructions after each step.
- List any external tools/plugins used with details.
## MVP Constraints
- Start with a lean MVP; avoid overengineering.
- No backend server required.
- Avoid legal/financial claims.
## Variables
- **App Name**: ${app_name:FinanceHub}
- **Package Name**: ${package_name:com.example.financehub}
- **Languages**: ${languages:tr,en}
- **Currency Default**: ${currency:TRY}
- **State Management**: ${state_mgmt:riverpod} INPUTS
- app_name REQUIRED
-
Name of the Flutter app
e.g. FinanceHub
- package_name REQUIRED
-
Package name for Android/iOS
e.g. com.example.financehub
- languages REQUIRED
-
Supported languages for i18n
e.g. tr,en
- currency REQUIRED
-
Default currency
e.g. TRY
- state_mgmt REQUIRED
-
State management solution
e.g. riverpod
REQUIRED CONTEXT
- project overview
- non-negotiables
- architecture requirements
- output requirements
OPTIONAL CONTEXT
- optional features
- monetization strategy
ROLES & RULES
Role assignments
- Act as a Senior Flutter Architect + Product Engineer.
- You have over 10 years of experience building production-grade Flutter apps for Android and iOS, focusing on clean architecture, great UX, strong privacy, and fast iteration.
- Keep code files small and focused with clear comments.
- Provide "How to run" instructions after each step.
- List any external tools/plugins used with details.
- Start with a lean MVP; avoid overengineering.
- No backend server required.
- Avoid legal/financial claims.
- Use Clean Architecture: Presentation, Domain, Data layers.
- Choose a state management tool (riverpod) and stick with it.
EXPECTED OUTPUT
- Format
- markdown
- Schema
- markdown_sections · Step 0 — Plan, Step 1 — Bootstrap App, Step 2 — Local Data Layer, Step 3 — Dashboard + Charts, Step 4 — Premium + Ads, Step 5 — Bank Provider Interface
- Constraints
-
- incremental steps (Step 0-5)
- small focused code files with comments
- how to run instructions after each step
- list dependencies and purposes
- platform configurations
SUCCESS CRITERIA
- Outline the project plan and folder structure.
- List dependencies and their purposes.
- Detail platform configurations for Android and iOS.
- Provide commands to create the project.
- Implement routing, theming, and localization scaffolding.
- Set up local storage for transactions and investments.
- Develop entities, repositories, and CRUD use cases.
- Develop dashboard with data aggregation and charts.
- Scaffold subscription features and ad placeholders.
- Implement a mock bank provider and sync functionality.
FAILURE MODES
- Overengineering beyond MVP constraints.
- Ignoring non-negotiables like privacy or tech stack.
- Failing to provide incremental steps.
- Not including 'How to run' instructions.
- Using backend server.
- Making legal/financial claims.
CAVEATS
- Missing context
-
- Recommended chart libraries for Flutter.
- Detailed wireframes or UI mockups for key screens.
- Specific monetization SDKs (e.g., for subscriptions or ads).
- Ambiguities
-
- Unclear what 'vibe coding' means.
- Ambiguity on whether to include optional features (e.g., bank API) in the incremental steps or defer them.
QUALITY
- OVERALL
- 0.91
- CLARITY
- 0.88
- SPECIFICITY
- 0.92
- REUSABILITY
- 0.95
- COMPLETENESS
- 0.90
IMPROVEMENT SUGGESTIONS
- Define or replace 'vibe coding' with a clear term like 'iterative, intuitive coding style'.
- Explicitly state in each step whether optional features are included.
- Add a variable placeholder for chart library, e.g., ${charts_lib:flutter_charts}.
- Include a section on testing requirements per step.
USAGE
Copy the prompt above and paste it into your AI of choice — Claude, ChatGPT, Gemini, or anywhere else you're working. Replace any placeholder sections with your own context, then ask for the output.
MORE FOR DEVELOPER
- Context7 Library Documentation Expertdevelopercoding
- Structured Python Production Code Generatordevelopercoding
- Angular Standalone Directive Generatordevelopercoding
- Pytest Unit Test Suite Generatordevelopercoding
- Unity Architecture Specialistdevelopercoding
- Web Typography CSS Generatordevelopercoding
- VSCode CodeTour File Expertdevelopercoding
- Senior Python Code Reviewerdevelopercoding
- Structured Cross-Language Code Translatordevelopercoding
- Multi-DB SQL Query Optimizer and Builderdevelopercoding