AI Skill Report Card

Building Production Websites

A-80·Sep 26, 2026·Source: Web

Builds websites the way a senior full-stack team would: analyze requirements, plan architecture and design system, implement cleanly, then rigorously QA before delivery. Never ships fake functionality, never claims untested things work, and never treats a first draft as final.

12 / 15

When asked to build a site, don't jump straight to code. Run through this internal sequence first:

  1. Analyze: purpose, target audience, required pages/features, visual style, constraints, ambiguities.
  2. Plan: information architecture, UX flows, design system (colors, type, spacing, radii, shadows, breakpoints), technical architecture (framework, components, data flow, API/DB needs).
  3. Implement: build with the plan as the blueprint, using reusable components and semantic HTML.
  4. QA & fix: test UI, functionality, responsiveness, accessibility, SEO, performance.
  5. Deliver: summarize what was understood, built, decided, and what's still needed from the user.

Only ask the user a clarifying question if a decision genuinely cannot be made professionally without it. Otherwise decide and proceed.

Recommendation▾
Add more concrete examples with actual code snippets showing before/after or good/bad implementations, not just narrative descriptions
15 / 15
Progress:
- [ ] Analyze requirements (purpose, audience, pages, features, style, constraints)
- [ ] Plan information architecture & UX flow
- [ ] Define design system (colors, typography, spacing, components, breakpoints)
- [ ] Choose technical architecture (framework, state, API, data)
- [ ] Implement with reusable components & semantic HTML
- [ ] Implement real functionality (forms, validation, states) — no fake features
- [ ] Check responsiveness at 320/375/390/430/768/1024/1280/1440/1920px
- [ ] Verify accessibility (keyboard nav, focus states, contrast, alt text)
- [ ] Verify SEO (title, meta description, heading structure, OG tags)
- [ ] Verify performance (image optimization, lazy loading, minimal JS)
- [ ] Verify security (no exposed secrets, input validation, env vars)
- [ ] Run design review checklist
- [ ] Fix any issues found, re-inspect
- [ ] Deliver with honest summary of what was/wasn't verified

Priority order when trade-offs arise: functionality > requirement accuracy > UX > visual quality > responsiveness > performance > accessibility > SEO > security > code cleanliness. Never sacrifice functionality for looks; never sacrifice usability for flashy animation.

Technology defaults (when user doesn't specify):

  • Simple site → HTML + CSS + JS
  • Modern web app → React + TypeScript
  • Full-stack app → Next.js + TypeScript
  • Styling → Tailwind CSS when available
  • Consistent icon library, no unnecessary dependencies

Existing projects: Never restart from scratch. Analyze structure, framework, dependencies, styling, routing, API/config first. Change only what's necessary; preserve existing functionality and check for dependencies before altering anything.

Fix requests ("this is broken", "make it better"): Identify the specific problem first. Keep everything that already works. Change only what's needed, unless an architectural fix is genuinely required.

Recommendation▾
Include a third example showing a more complex full-stack scenario with API integration to demonstrate architecture decisions
13 / 20

Example 1: Input: "Build a landing page for a local bakery, no tech stack specified." Output: Plan first (hero, product highlights, location/hours, contact form, footer), pick HTML/CSS/JS or React based on complexity, define a warm/clean design system, build with real form validation and working mobile nav, verify at all breakpoints, add SEO meta + alt texts for bakery photos, then deliver with a short summary of decisions (e.g. "used placeholder product images — replace with real photos").

Example 2: Input: "The contact form on my site doesn't work." Output: Don't rebuild the site. Locate the form component, diagnose the actual failure (validation logic, missing handler, API endpoint), fix only that, verify loading/success/error states, confirm nothing else broke.

Recommendation▾
Show a bad output example (e.g. fake functionality, generic AI-look) contrasted with the good one to reinforce pitfalls concretely
  • Use real user-provided data (names, prices, contacts) exactly as given; clearly label placeholders when real data is missing.
  • Every form needs labels, validation, error/loading/success/disabled states, and clear human-readable error messages.
  • Every interactive feature (search, filters, cart, login, booking) needs real logic — if backend/API isn't available, build the frontend cleanly separated and ready for later integration.
  • Respect prefers-reduced-motion; keep animations subtle, short, and purposeful (hover, fade, slide, micro-interactions only).
  • Avoid the generic "AI-generated" look: excessive gradients, glassmorphism, oversized text, random colors, cluttered sections, inconsistent cards.
  • Favor clear visual hierarchy, consistent spacing, strong but clean CTAs, and components with a genuine reason to exist.
  • Never hardcode secrets/API keys in frontend code — use environment variables.
  • Do not claim you ran code, opened a preview, tested an API, or that a build passed unless you actually verified it.
  • Do not treat the first implementation as final — always run the inspect → fix → re-inspect loop before delivering.
  • Do not add complexity, dependencies, or unrequested features without real justification.
  • Do not use multiple H1s for visual effect, skip alt text, or ignore keyboard/focus accessibility.
  • Do not assume desktop-only usage — verify no horizontal overflow or overlapping elements on mobile.
  • Do not fabricate realistic-looking but fake critical data (prices, addresses, stats) — use clearly marked placeholders instead.
0
Grade A-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
12/15
Workflow
15/15
Examples
13/20
Completeness
18/20
Format
15/15
Conciseness
13/15