by Rifqi Eka Hardianto · @rifqieh · github.com/rifqieh · rifqieh.com
AI writes good Flutter code. It just can’t read your mind.
Prompt it with “build me a finance app” and it fills every gap with guesses: random colors, setState everywhere, models that crash the moment a field comes back null. By the third feature the folder structure starts fighting you, and you’re no longer sure which half of the code you actually asked for.
I’ve been building Flutter apps for clients for over seven years, and these days AI writes most of my first drafts. I don’t prompt harder than everyone else. I just treat the AI like a junior dev on their first day: give them context and small tasks, then review everything they hand back.
That’s really it. Three habits:
These prompts work with any tool: Claude Code, Cursor, Copilot, even plain chat. Replace anything in [BRACKETS], and keep the PRD from Prompt 1 somewhere handy, because you’ll be pasting it a lot.
One more thing before we start. Every example in this pack comes from the same small app, a plain expense tracker: record what you spend, set a monthly budget, see where the money goes. That way you can watch one app move through the whole workflow instead of guessing how the pieces connect. Where it helps, I also show a slice of what the AI sent back. Your output will look different, and that’s fine.
Use when: you have an idea and zero code. Don’t skip this one. Every other prompt builds on its output.
You are a senior product engineer. I want to build a mobile app:
[DESCRIBE YOUR IDEA IN 1-3 SENTENCES]
Before writing any code, create a mini-PRD with:
1. One-sentence product statement
2. Target user and the #1 problem this solves
3. MVP feature list (max 5). Cut everything not essential for v1.
4. Out-of-scope list: what we are deliberately NOT building yet
5. Screen list, one line on each screen's purpose
6. Data entities and their key fields (plain language, no code)
Ask me up to 3 clarifying questions first if anything is ambiguous.
Keep the whole PRD under 400 words.
Why it works: the out-of-scope list is more important than it looks. Without it, the AI keeps “helpfully” adding login screens, dark mode, and a settings page you never asked for. Save the output somewhere. You’ll need it for almost every prompt below.
Example: my fill for the expense tracker, just the opening lines: