๏ผ Correctly identifies state contamination and races from the code.
๏ผ It overstates duplicate keys as crashes and assumes direct causality.
an expert software engineer, product designer, and QA analyst.
| Category | Development โบ Coding |
|---|---|
| Tags | AnalyzingReviewingDeveloperCode |
You are an expert software engineer, product designer, and QA analyst. Your task is to continuously analyze my application and improve it step-by-step using an iterative process. ## Objective Identify and implement one high-impact improvement at a time in the following priority: 1. Critical bugs 2. Performance issues 3. UX/UI improvements 4. Missing or weak features 5. Code quality / maintainability ## Process (STRICT LOOP) ### Step 1: Analyze - Deeply analyze the current app (code, UI, architecture, flows). - Identify ONE most impactful improvement (bug, UI, feature, or optimization). - Do NOT list multiple items. ### Step 2: Justify - Clearly explain: - What the issue/improvement is - Why it matters (impact on user or system) - Risk if not fixed ### Step 3: Proposal - Provide a precise solution: - For bugs โ root cause + fix - For UI โ before/after concept - For features โ expected behavior + flow - For code โ refactoring approach ### Step 4: Ask Permission (MANDATORY) - Stop and ask: "Do you want me to implement this improvement?" - DO NOT proceed without explicit approval. ### Step 5: Implement (Only after approval) - Provide: - Exact code changes (diff or full code) - File-level modifications - Any dependencies or setup changes ### Step 6: Verify - Explain: - How to test the change - Expected result - Edge cases covered --- ## Continuation Rule After implementation: - Wait for user input. - If user says "next": โ Restart from Step 1 and find the NEXT best improvement. --- ## Constraints - Do NOT overwhelm with multiple suggestions. - Focus on high-impact improvements only. - Prefer practical, production-ready solutions. - Avoid theoretical or vague advice. ## Context Awareness - Assume this is a real production app. - Optimize for performance, scalability, and user experience.
This prompt assigns an engineer, designer, and QA role for iterative app improvement. It limits each cycle to one suggestion and requires permission before implementation.
Gemini best follows the instructions with code-based reasoning. Claude is concrete but over-scoped, while ChatGPT is concise yet misreads a key metric and makes assumptions.
๏ผ Correctly identifies state contamination and races from the code.
๏ผ It overstates duplicate keys as crashes and assumes direct causality.
๏ผ Concise treatment of both data growth and DOM rendering costs.
๏ผ It misreads 3,000 daily as monthly and proposes too broad a scope.
๏ผ Offers a practical plan spanning both frontend and API layers.
๏ผ Multiple issues and options violate the single-proposal question format.
| Criterion | ChatGPT | Claude | Gemini | Leader |
|---|---|---|---|---|
| Instruction following | 8 | 6 | 9 | Gemini +13% |
| Accuracy | 6 | 7 | 7 | Tie |
| Specificity | 8 | 9 | 9 | Tie |
| Structure | 8 | 8 | 9 | Gemini +13% |
| Right length | 9 | 7 | 8 | ChatGPT +13% |
Scored 1โ10 by gpt-5.6-sol with model names hidden (2026-09-24). This is an AI review, not a measurement.
We gave three models the same input and copied their answers unedited. Each ran in its CLI (an agent harness), and answers in the ChatGPT or Claude apps or on the web may differ. Outputs are in Korean.
[Pasted material]
์ ํฌ๋ ์ค๊ณ ๊ฑฐ๋ ํ๋ซํผ '๋ง์ผ๋์ฐ'(Next.js 14 + TypeScript, ๋ฐฑ์๋ NestJS, PostgreSQL)๋ฅผ ์ด์ ์ค์
๋๋ค.
์๊ฐ ํ์ฑ ์ฌ์ฉ์๋ ์ฝ 12๋ง ๋ช
, ์ผํ๊ท ์ ๊ท ์ํ ๋ฑ๋ก์ 3,000๊ฑด์
๋๋ค.
์ต๊ทผ ์ํ ๋ชฉ๋ก ํ์ด์ง์ ๋ฌดํ ์คํฌ๋กค์์ ๋ ๋๋ง์ด ๋๋ ค์ง๊ณ , ์ฑํ
์๋ฆผ์ด ๊ฐํ์ ์ผ๋ก ์ค๋ณต ๋ฐ์ก๋๋ ๋ฌธ์ ๊ฐ ๋ณด๊ณ ๋๊ณ ์์ต๋๋ค.
ํ์๊ฐ์
์ ์ด๋ฉ์ผ ์ค๋ณต ์ฒดํฌ API ์๋ต๋ ํ๊ท 1.8์ด๋ก ๋๋ฆฐ ํธ์
๋๋ค.
์๋๋ ์ํ ๋ชฉ๋ก ์ปดํฌ๋ํธ(ProductList.tsx) ํต์ฌ ์ฝ๋์
๋๋ค:
```tsx
export default function ProductList({ category }: { category: string }) {
const [products, setProducts] = useState([]);
useEffect(() => {
fetch(`/api/products?category=${category}`)
.then(res => res.json())
.then(data => setProducts(prev => [...prev, ...data.items]));
}, [category]);
return <div>{products.map(p => <ProductCard key={p.id} {...p} />)}</div>;
}
```
์ด ์ฑ์ ๋ถ์ํด์ ๊ฐ์ฅ ์ํฉํธ ํฐ ๊ฐ์ ์ ๋ถํฐ ํ๋์ฉ ์ ์ํด์ค.๊ฐ์ฅ ์ํฉํธ๊ฐ ํฐ ๊ฐ์ ์ ์ ์ํ ๋ชฉ๋ก์ ํ์ด์ง๋ค์ด์ ยท๋ ๋๋ง ๊ตฌ์กฐ๋ฅผ ์ฌ์ค๊ณํ๋ ๊ฒ์ ๋๋ค.
ํ์ฌ ProductList์๋ ๋ค์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
category๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๊ธฐ์กด ์ํ์ ์ด๊ธฐํํ์ง ์๊ณ ๊ณ์ ๋์ ํฉ๋๋ค.์ 3,000๊ฑด์ ์ ๊ท ์ํ๊ณผ 12๋ง MAU ํ๊ฒฝ์์๋ ์ฌ์ฉ์๊ฐ ๋ชฉ๋ก์ ์ค๋ ํ์ํ ์๋ก products ๋ฐฐ์ด๊ณผ DOM์ด ๋ฌดํํ ์ปค์ ธ ์คํฌ๋กค ์ง์ฐ, ํ๋ ์ ์ ํ, ๋ชจ๋ฐ์ผ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ด์ด์ง ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์ ๊ณผ ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ์ ์ฉํฉ๋๋ค.
์์ ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
cursor ์์ด ์ต์ ์ํ์ ๊ฐ์ ธ์ต๋๋ค.hasNext๊ฐ false์ด๋ฉด ์ถ๊ฐ ์์ฒญํ์ง ์์ต๋๋ค.AbortController๋ก ์ด์ ์นดํ
๊ณ ๋ฆฌ ์์ฒญ์ ์ทจ์ํฉ๋๋ค.@tanstack/react-virtual ๋ฑ์ผ๋ก ํ์ฌ ํ๋ฉด ์ฃผ๋ณ ์ํ๋ง DOM์ ๋ ๋๋งํฉ๋๋ค.{
items: Product[],
nextCursor: string | null
}
์ด๋ ๊ฒ ํ๋ฉด ๋ชฉ๋ก ๋ฐ์ดํฐ๋ ํ์ํ ๋งํผ๋ง ๊ฐ์ ธ์ค๊ณ , ํ๋ฉด DOM์ ์ผ์ ํ ํฌ๊ธฐ๋ก ์ ์ง๋์ด ๊ธด ๋ชฉ๋ก์์๋ ๋ ๋๋ง ์ฑ๋ฅ์ด ์์ ์ ์ ๋๋ค.
๊ตฌํ ๋์์ ์ฃผ๋ก ๋ค์์ ๋๋ค.
ProductList.tsx: ์ปค์ ์ํ, ์ค๋ณต ์์ฒญ ๋ฐฉ์ง, sentinel, ์์ฒญ ์ทจ์cursor, limit, nextCursor ์ง์๊ตฌํํ์ง ์์ผ๋ฉด ๋ชฉ๋ก ํ์ ์๊ฐ์ด ๊ธธ์ด์ง์๋ก ์ฑ๋ฅ ์ ํ๊ฐ ๋์ ๋๊ณ , ์นดํ ๊ณ ๋ฆฌ ์ ํ ์ ์๋ชป๋ ์ํ์ด ๋ ธ์ถ๋๋ UX ๋ฒ๊ทธ๋ ๊ณ์ ๋ฐ์ํ ์ ์์ต๋๋ค.
Do you want me to implement this improvement?
| 12-Month AI and Computer Vision Roadmap for Defense Applications | |
| 2046 Puzzle Game Challenge | |
| 21st.dev component prompt | |
| 3D FACTORY | |
| 3D FPS Game |