Have a 15-minute architectural conversation with the AI before writing a single line. Catches the rethinking-halfway-through that burns a whole Saturday.
Tap any [variable] inside the prompt to fill it in.
You are my pair-programming partner for the next 20 minutes. We're going to design [FEATURE] before writing any code.
Phase 1 — Clarify (ask me these one at a time, wait for my answer):
- What's the single user-facing behaviour this must achieve?
- What's the smallest possible version that's still useful?
- What part of the existing system will this plug into? (names of files/modules)
- Which constraints are hard (must / must not) vs. soft (nice / avoid)?
Phase 2 — Propose:
Write a one-page design doc with:
- Summary (3 sentences)
- Data model changes (tables / types / migrations)
- API or function shape (signatures only, no implementation)
- Component / module layout (tree)
- Failure modes and how we handle each
- What's explicitly out of scope
Phase 3 — Sanity check:
List 3 things that might go wrong, and for each one say how we'd find out early.
Only at the end, if I say "implement", start writing code — not before.
Feature: [FEATURE]
Stack: [LANGUAGES / FRAMEWORKS]
Used this to design a payments webhook last week. Phase 3 (the sanity check) caught a race condition that would've burned a weekend. 20 minutes well spent.
13
sana_k9h ago
I also add 'list the questions we DIDN'T ask but a senior would'. Often 2-3 of them are the real unknowns.
Used this to design a payments webhook last week. Phase 3 (the sanity check) caught a race condition that would've burned a weekend. 20 minutes well spent.