Skip to main content
Prompts Flutter Finance App Incremental Architect

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.
  1. Keep code files small and focused with clear comments.
  2. Provide "How to run" instructions after each step.
  3. List any external tools/plugins used with details.
  4. Start with a lean MVP; avoid overengineering.
  5. No backend server required.
  6. Avoid legal/financial claims.
  7. Use Clean Architecture: Presentation, Domain, Data layers.
  8. 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